Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Здравствуйте, помогите оптимизировать код, т.е. дописать функцию 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, 14:40   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 13,557
Репутация: 2400
По умолчанию

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

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

А если вы прийдете к врачу на подбор очков, а вам ногу отрежут и скажут потом - "ну что вы к словам цепляетесь? какая разница подобрать или отрезать? я ж не филолог." Открою вам секрет - люди приходят на форум не только темку со своем дз создать, но и почитать интересующие темы. И да, в теме с названием оптимизация они ожидают что-то про оптимизацию.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 08.01.2019, 15:16   #5
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,479
Репутация: 6498
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода (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


18:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru