Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2019, 13:38   #1
Katya_009
Пользователь
 
Регистрация: 05.12.2018
Сообщений: 16
По умолчанию Оптимизация кода

Здравствуйте, помогите оптимизировать код, т.е. дописать функцию main и функцию удаления числа из хеш-таблицы. По заданию нужно реализовать хеширование целых чисел, содержащихся в текстовом файле, операции поиска, вставки и удаления введённого целого числа в хеш-таблице. Использован метод цепочек.
Код:
        class SimpleHashSet {
         int[] head; // массив голов
         int[] next; // массив ссылок на следующий элемент
         int[] keys; // массив с ключами (вместо int'а следует поставить нужный тип)
         int headNum; // количество голов
         int cnt = 1; // ссылка на место для вставки нового элемента
         
         /* Конструктор */
         SimpleHashSet(int headNum, int maxSize) {
             this.headNum = headNum;
             head = new int [headNum];
             next = new int [maxSize + 1];
             keys = new int [maxSize + 1];
         }
         
         /* Добавляет элемент в множество */
         boolean add(int x) {
             if (this.contains(x))
                 return false;
             int h = index(hash(x));
             next[cnt] = head[h];
             keys[cnt] = x;
             head[h] = cnt++;
             return true;
         }
 
         /* Проверяет, содержится ли x в множестве */
         boolean contains(int x) {
             int h = index(hash(x));
             for (int i = head[h]; i != 0; i = next[i])
                 if (keys[i] == x)
                     return true;
             return false;
         }
         
         /* хэш-функция (для других типов следует изменить) */
         int hash(int x) {
             return (x >> 15) ^ x;
         }
         
         /* возвращает номер головы по значению хэш-функции */
         int index(int hash) {
             return Math.abs(hash) % headNum;
         }
     }
Katya_009 вне форума Ответить с цитированием
Старый 08.01.2019, 13:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А какая связь между оптимизацией и дописать функции? Вы в курсе значений этих терминов?
p51x вне форума Ответить с цитированием
Старый 08.01.2019, 13:55   #3
Katya_009
Пользователь
 
Регистрация: 05.12.2018
Сообщений: 16
По умолчанию

Почему вы всегда цепляетесь к словам? Ну дописать функции тогда... извините, но вы частенько так делаете, как будто это не форум программистов, а сообщество филологов
Katya_009 вне форума Ответить с цитированием
Старый 08.01.2019, 14:16   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А если вы прийдете к врачу на подбор очков, а вам ногу отрежут и скажут потом - "ну что вы к словам цепляетесь? какая разница подобрать или отрезать? я ж не филолог." Открою вам секрет - люди приходят на форум не только темку со своем дз создать, но и почитать интересующие темы. И да, в теме с названием оптимизация они ожидают что-то про оптимизацию.
p51x вне форума Ответить с цитированием
Старый 08.01.2019, 14:16   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Программисты же в подавляющем большинстве своем имеют математический склад ума, а в математике каждый термин имеет значение, допускающее только однозначное толкование )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2019, 14:32   #6
Katya_009
Пользователь
 
Регистрация: 05.12.2018
Сообщений: 16
По умолчанию

Океей, вы правы, просто, если допустим, мне не нужна функция удаления, а просто нужно привести код в рабочее состояние(в данном случае привести его в рабочее состояние, с помощью функции main), под этим я и понимаю слово "оптимизация"
Katya_009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода (C++) Кирилл Романов Помощь студентам 0 30.10.2013 23:36
Оптимизация кода HDMI PHP 16 22.10.2012 13:06
Оптимизация кода Shouldercannon Общие вопросы Delphi 23 22.07.2010 22:45
Оптимизация кода. Alex Cones Общие вопросы Delphi 19 12.10.2009 20:51
Оптимизация кода viscas PHP 3 31.05.2009 16:04