- 1
- 2
- 3
- 4
- 5
@Override public int hashCode()
{
int hash = 7;
return hash;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+94
@Override public int hashCode()
{
int hash = 7;
return hash;
}
Ну это явно хит!
eth0 06.11.2011 13:46 # +6
Т.е. [:||||||:]
TarasB 06.11.2011 15:10 # 0
А прикинь, случайное число в качестве хэша?
ingenuus 06.11.2011 15:49 # +11
dwinner 06.11.2011 16:32 # 0
lucidfoxGovno 06.11.2011 17:55 # −16
Получил поиск в HashMap за O(n).
da4ever 07.11.2011 00:44 # −6
fix: O(1)
lucidfoxGovno 07.11.2011 01:47 # +2
именно О(n)
fixed
da4ever 07.11.2011 05:54 # −2
хеш один на всех -> в мапе не больше одного элемента -> константное время
lucidfoxGovno 07.11.2011 10:30 # 0
da4ever 07.11.2011 11:04 # 0
в хешмапе итемы с одним хешем чейнятся, что значит O(n).
dwinner 07.11.2011 08:19 # +1
dwinner 07.11.2011 08:26 # 0
А, ну точно. Надо ж похвалиться, что вы типа знаете, как-то сразу не подумал... Sorry
lucidfoxGovno 07.11.2011 10:32 # 0
Сортировка отработает правильно, поиск - тоже. Медленно, правда, искать будет.
>очевидность!
Как видно, для тебя это оказалось не очевидным.
dwinner 07.11.2011 10:35 # 0
lucidfoxGovno 07.11.2011 10:42 # 0
dwinner 07.11.2011 11:19 # −6
roman-kashitsyn 07.11.2011 11:23 # +3
dwinner 07.11.2011 11:40 # 0
roman-kashitsyn 07.11.2011 11:44 # +4
А когда вы начали вещать о мемори-ликах, JVM и GC у меня сложилось вмечатление, что вы просто перечисляете знакомые слова.
dwinner 07.11.2011 11:46 # 0
AnimeGovno-_- 07.11.2011 13:00 # 0
А между тем, есть контейнеры, правда в стандартных библиотеках я их ни разу не видел, снижающие максимальную сложность поиска в хештаблице О(n/k) до О(log(n/k)) (k=размер хештаблицы=const) при условии правильно подобранной хешфункции или О(n) до О(log(n)) при неправильно подобранной хешфункции. А именно за счет сортировки колизиирующих элементов в одном элементе хештаблицы. То есть для таких контейнеров, даже если написать такую хешфункцию, как написал автор этого говнокода, то он все равно получает поиск О(log(n)), а не О(n).
roman-kashitsyn 07.11.2011 13:26 # 0
TarasB 07.11.2011 13:49 # 0
roman-kashitsyn 07.11.2011 13:51 # 0
AnimeGovno-_- 07.11.2011 14:00 # 0
Кстати, не видел я что-то в C# для Dictionary параметра размера хештаблицы k. Он там регулируется как-нибудь?
roman-kashitsyn 07.11.2011 14:12 # 0
roman-kashitsyn 07.11.2011 14:28 # 0
AnimeGovno-_- 07.11.2011 13:58 # 0
Можно поподробнее?
TarasB 07.11.2011 14:40 # 0
AnimeGovno-_- 07.11.2011 15:10 # −1
gegMOPO4 07.11.2011 15:58 # 0
lucidfoxGovno 07.11.2011 16:06 # 0
gegMOPO4 07.11.2011 16:31 # 0
lucidfoxGovno 07.11.2011 16:33 # −7
а вообще, я говорил не про стандартную библиотеку java, если ты не заметил
dwinner 07.11.2011 11:44 # 0
{
private Object[] elements;
private int size = 0;
private static final int DEFAULT_INITIAL_CAPACITY = 16;
public Stack()
{
elements = new Object[DEFAULT_INITIAL_CAPACITY];
}
public void push(Object e)
{
ensureCapacity();
elements[size++] = e;
}
public Object pop()
{
if (size == 0)
throw new EmptyStackException();
return elements[--size];
}
private void ensureCapacity()
{
if (elements.length == size)
elements = Arrays.copyOf(elements, 2 * size + 1);
}
}
Код компилится, но память течет... Тоже что ли херня?! Мож я просто не понимаю значения слова херня?! )))
roman-kashitsyn 07.11.2011 11:47 # 0
dwinner 07.11.2011 11:54 # 0
roman-kashitsyn 07.11.2011 10:42 # +2
ваш К.О.
jabber 07.11.2011 00:07 # 0
roman-kashitsyn 07.11.2011 09:50 # +5
gegMOPO4 07.11.2011 12:46 # 0
roman-kashitsyn 07.11.2011 11:51 # 0
dwinner 07.11.2011 12:46 # 0
gegMOPO4 07.11.2011 13:00 # +2
3.14159265 07.11.2011 14:51 # −4
http://gorod.tomsk.ru/uploads/31604/1236156756/50.jpg
Leonidos 27.01.2012 00:02 # 0