Algorytm jest sekwencją dobrze zdefiniowanych kroków, które definiują abstrakcyjne rozwiązanie problemu. Użyj tego tagu, gdy Twój problem dotyczy projektu algorytmu.
Jaki jest najbardziej zwięzły i wydajny sposób sprawdzenia, czy tablica JavaScript zawiera wartość? To jedyny znany mi sposób: function contains(a, obj) { for (var i = 0; i < a.length; i++) { if (a[i] === obj) { return true; } } return false; } Czy istnieje lepszy i bardziej zwięzły …
Wczoraj parowałem skarpetki z czystego prania i zorientowałem się, jak to robię, nie jest bardzo wydajne. Robiłem naiwne poszukiwania - wybrałem jedną skarpetę i „iterowałem” stos, aby znaleźć jego parę. Wymaga to iteracyjnie na N / 2 * n / 4 = N 2 /8 skarpet średniej. Jako informatyk zastanawiałem …
Niedawno natknąłem się na grę 2048 . Łączysz podobne płytki, przesuwając je w jednym z czterech kierunków, aby utworzyć „większe” płytki. Po każdym ruchu, nowa dachówka pojawia się losowo pustej pozycji o wartości albo 2albo 4. Gra kończy się, gdy wszystkie pola są wypełnione i nie ma ruchów, które mogłyby …
Jednym z najciekawszych projektów, nad którymi pracowałem w ciągu ostatnich kilku lat, był projekt dotyczący przetwarzania obrazu . Celem było opracowanie systemu umożliwiającego rozpoznawanie „puszek” Coca-Coli (zauważ, że podkreślam słowo „puszki”, za chwilę zrozumiesz dlaczego). Poniżej możesz zobaczyć próbkę z puszką rozpoznaną w zielonym prostokącie ze skalą i obrotem. Niektóre …
W .NET GetHashCodemetoda jest używana w wielu miejscach w bibliotekach klas podstawowych .NET. Prawidłowe wdrożenie jest szczególnie ważne, aby szybko znaleźć przedmioty w kolekcji lub określić równość. Czy istnieje standardowy algorytm lub najlepsza praktyka w zakresie implementacji GetHashCodedla moich klas niestandardowych, aby nie obniżać wydajności?
Niedawno miałem ciekawe doświadczenie w rozmowie kwalifikacyjnej. Pytanie zaczęło się naprawdę łatwo: Q1 : Mamy torbę zawierającą numery 1, 2, 3, ..., 100. Każda liczba pojawia się dokładnie raz, więc jest 100 liczb. Teraz jedna liczba jest losowo wybierana z torby. Znajdź brakujący numer. Oczywiście wcześniej słyszałem to pytanie, więc …
W tym momencie czuję się trochę gruby. Spędziłem dni próbując całkowicie owinąć głowę nad konstrukcją drzewa sufiksów, ale ponieważ nie mam matematycznego zaplecza, wiele wyjaśnień wymyka mi się, gdy zaczynają nadmiernie używać symboliki matematycznej. Najbliższe dobre wyjaśnienie, które znalazłem, to szybkie wyszukiwanie ciągów za pomocą drzewek sufiksów , ale przegląda …
Prawie muszę napisać program, aby sprawdzić, czy lista ma jakieś duplikaty, a jeśli tak, to usuwa je i zwraca nową listę z elementami, które nie zostały zduplikowane / usunięte. To właśnie mam, ale szczerze mówiąc nie wiem, co robić. def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', …
Jak obliczyć odległość między dwoma punktami określonymi przez szerokość i długość geograficzną? Dla wyjaśnienia chciałbym odległość w kilometrach; punkty wykorzystują system WGS84 i chciałbym zrozumieć względne dokładności dostępnych podejść.
Pytanie Jak znaleźć złożoność czasową algorytmu? Co zrobiłem przed opublikowaniem pytania na SO? Przejrzałem to , to i wiele innych linków Ale nie, gdzie nie mogłem znaleźć jasnego i prostego wyjaśnienia, jak obliczyć złożoność czasu. Co ja wiem ? Powiedz kod tak prosty jak ten poniżej: char h = 'y'; …
Większość osób z dyplomem CS z pewnością wie, co stoi na Big O . Pomaga nam zmierzyć, jak dobrze skaluje się algorytm. Ale jestem ciekaw, w jaki sposób możesz obliczyć lub zbliżenie złożoności algorytmów?
8 bitów reprezentujących liczbę 7 wygląda następująco: 00000111 Ustawione są trzy bity. Jakie są algorytmy do określania liczby ustawionych bitów w 32-bitowej liczbie całkowitej?
Po prostu, czym jest optymalizacja połączeń ogonowych? Mówiąc dokładniej, jakie są małe fragmenty kodu, w których można je zastosować, a gdzie nie, z wyjaśnieniem, dlaczego?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.