Computer Science на языке Java 2022 Дэвид Копец Классические задачи Computer Science на языке Java 2022 ббк



Download 6,2 Mb.
Pdf ko'rish
bet208/236
Sana25.02.2022
Hajmi6,2 Mb.
#464393
1   ...   204   205   206   207   208   209   210   211   ...   236
Bog'liq
Kopec Klassicheskie zadachi Computer Science na yazyke Java 643091

Листинг 9.10. 
PhoneNumberMnemonics.java (продолжение)
public 
String[] getMnemonics() {
String[] mnemonics = { "" };
for 
(Character digit : phoneNumber.toCharArray()) {
String[] combo = phoneMapping.get(digit);
if 
(combo != 
null
) {
mnemonics = 
cartesianProduct
(mnemonics, combo);
}
}
return 
mnemonics;
}
public static void 
main(String[] args) {
System.
out
.println("Enter a phone number:");
Scanner scanner = 
new 
Scanner(System.
in
);
String phoneNumber = scanner.nextLine();
scanner.close();
System.
out
.println("The possible mnemonics are:");
PhoneNumberMnemonics pnm = 
new 
PhoneNumberMnemonics(phoneNumber);
System.
out
.println(Arrays.
toString
(pnm.getMnemonics()));
}
}


260
Глава 9.
Другие задачи
Оказывается,.номер.телефона.144-07-87.можно.записать.как.1GH0STS,.что.легче.
запомнить.
9.4. РЕАЛЬНЫЕ ПРИЛОЖЕНИЯ
Динамическое.программирование,.с.помощью.которого.решалась.задача.о.рюк-
заке,.—.это.широко.используемый.метод,.который.позволяет.решить.задачи,.на.
первый.взгляд.кажущиеся.нерешаемыми,.путем.разбиения.их.на.более.мелкие.
задачи.и.составления.решения.из.этих.частей..Сама.задача.о.рюкзаке.связана.
с.другими.оптимизационными.задачами,.где.конечное.количество.ресурсов.
(вместимость.рюкзака).должно.быть.распределено.среди.конечного,.но.исчер-
пывающего.набора.вариантов.(предметов,.которые.можно.украсть)..Представьте.
колледж,.который.должен.освоить.свой.спортивный.бюджет..У.него.недостаточ-
но.денег.для.финансирования.всех.команд.и.есть.ожидания.относительно.того,.
сколько.пожертвований.для.выпускников.внесет.каждая.команда..Это.может.
привести.к.возникновению.похожей.на.задачу.о.рюкзаке.проблемы.оптимизации.
распределения.бюджета..Подобные.задачи.часто.встречаются.в.реальном.мире.
Задача.коммивояжера.—.типичное.явление.для.таких.компаний,.как.UPS.и.FedEx..
Компании.по.доставке.посылок.хотят,.чтобы.их.машины.двигались.по.наикрат-
чайшим.маршрутам..Это.не.только.делает.работу.водителей.более.приятной,.но.
и.экономит.топливо.и.уменьшает.расходы.на.техническое.обслуживание..Мы.
все.путешествуем.во.время.работы.или.для.удовольствия,.и.поиск.оптимальных.
маршрутов.при.посещении.нескольких.мест.помогает.экономить.ресурсы..Но.
задача.коммивояжера.не.сводится.к.одной.лишь.маршрутизации.путешествий,.
она.встречается.практически.в.любом.сценарии.маршрутизации,.который.тре-
бует.единичных.посещений.узлов..Несмотря.на.то.что.минимальное.связующее.
дерево.(см..главу.4).может.свести.к.минимуму.длину.кабелей,.необходимых.для.
соединения.соседних.узлов,.оно.не.сообщает.нам.оптимальную.длину.проводов,.
если.каждый.дом.должен.быть.напрямую.подключен.только.к.одному.другому.
дому.как.части.гигантской.сети,.которая.замыкается.на.свою.начальную.точку..
Эту.проблему.решает.задача.коммивояжера.
Методы.генерации.перестановок,.подобные.используемым.при.наивном.подходе.
к.решению.задачи.коммивояжера.и.задачи.мнемоники.телефонных.номеров,.по-
лезны.для.тестирования.всевозможных.алгоритмов.перебора..Например,.если.вы.
пытаетесь.взломать.короткий.пароль,.то.можете.сгенерировать.все.возможные.
перестановки.символов,.которые.потенциально.в.нем.присутствуют..Специали-
стам,.выполняющим.масштабные.задачи.генерации.перестановок,.стоит.применять.
очень.эффективный.алгоритм.генерации.перестановок,.такой.как.алгоритм.Хипа
1
.
1
.
Sedgewick R. 
Permutation.Generation.Methods..—.Princeton.University..http://mng.bz/87Te.


9.5. Упражнения

Download 6,2 Mb.

Do'stlaringiz bilan baham:
1   ...   204   205   206   207   208   209   210   211   ...   236




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish