Loading...
krach avatar krach 65 Точки

Ето моя вариант на домашното на Джава без последната все още: https://github.com/krachunov/softUni/tree/master/SoftwareUni/src/homeWork4

Имам едно питане. Задачата с папки и файлове я реализирах с 2 варианта на метода който обхожда. Единия е с цикъл другия рекурсивен. Конкретно проблема ми е с рекурсивния метод който ми отпечатва на конзолата това което очаквам обаче в childFolders ми слага двойно повече обекти от колкото са и не мога да разбера от къде ми идва проблема.

0
dim4o avatar dim4o 288 Точки

Ето и моето домашно: TREES

5-та и 6-та подточка на първа задача съм решил без рекурсия. Използвам това, че вече имам построен nodeByValue и метод който взима всички листа. Оттам пък от всяко едно листо до RootNode-а има единствн път, който е лесен за проследяване. Така реално излизат всикчи пътища. Условието Leftmost на тези подточки според мен не е коректно, защото зависи от реда по-който са вкарани входните данни, както и от начина на обхождане.

Трета задача мина доста леко - соред мен не засужава чак 3 звезди, но на 2-ра зациклих, защото не бях наясно точно какво се иска. Мислех си, че трябва да се използва вече направения клас Tree и в него да се набутат обекти от тип Folder, което е малко странно. В крайна сметка използвах рекусрсивната конструкция на Folder обекта. Просто е, но доста го мислех, защото не знаех как да подходя.

 

1
Filkolev avatar Filkolev 4482 Точки

Колеги,

Два въпроса.

На 1-ва задача, последното подусловие - какво разбирате под subtree? Длъжни ли сме вземайки един node да вземем всичките му деца (много по-лесно като логика), или разглеждаме всички комбинации от взети/невзети деца? След като е с три звезди подозирам, че се има предвид второто, но реших да питам вие как сте подходили. Да дообясня какво имам предвид - аз под subtree разбирам и следното (гледайки примера в самото домашно): 7 -> 19 -> 12 -> 31 -> 14 -> 23. Не в тази последователност, но предполагам става ясно какво имам предвид. Например, вземайки 19 не съм длъжен да взема и 1, а разглеждам всички комбинации.

По 2-ра задача, какво приема като параметри метода, който изчислява сумата на размерите на файловете? Аз направих пропърти Path на директориите (различно от Name) и речник с ключ този path и стойност - Folder обект. При това положение метода ми приема като стринг целия път до дадена папка, а ако такъв път не е бил въведен хвърля грешка. Не можах да измисля по-умен подход, тъй като самите обекти тип Folder не ги пазя никъде, че да подам цял обект на метода.

0
dim4o avatar dim4o 288 Точки

Под subtree според мен трябва да се разбира всичко, което може да бъде получено от дървото само с едно прерязване на ребро т.е. би трябвало да е по-лесния вариант. Защо е с *** незнам. За 2-ра задача аз приемам обект от тип Folder и после рекурсивно изчислярам размера в bytes. Незнам дали точно това се иска, но не е технически проблем да приеме и стринг. Според мен така, както си го напарвил по описание изглежда да е коректно.

1
24/07/2015 15:43:00
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.