Loading...
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Снощи на лекцията Наков спомена, че още не е довършил условието на домашното. Така че ще има, но малко ще се забави.

2
ttitto avatar ttitto 1153 Точки

Домашното е вече качено. Обаче нещо не ми харесва в условието на първа задача. Понеже не е посочено никъде, че дървото е наредено се обезсмисля да се иска в условието leftmost за последните три подточки. Или ме поправете, ако греша нещо!

0
petrovaliev95 avatar petrovaliev95 358 Точки

Колега мисля, че целта на тези думи са да се изкара първото срещнато. И не, дървото не мисля, че е наредено.

0
19/07/2015 14:35:30
petrovaliev95 avatar petrovaliev95 358 Точки

Здравейте, Колеги

Малко офтопик. Само аз ли виждам грешните примери на първа задача ?

0
ttitto avatar ttitto 1153 Точки

Не си само ти.

0
MartinDachev avatar MartinDachev 30 Точки

Един въпрос към първа задача -

" Write a program to read the tree from the console and find:

  • The longest path in the tree (the leftmost if several paths have the same longest length) "

Това като тръгнем от корена ли? Защото примера е като тръгнем от корена (тоест височината на дървото ще е longest path). Ако можем да се движим само надолу от корена към листата, тогава това е най-дългият път. Ако обаче можем да се движим и от листо към корена, то най-дългият път ще е между две листа. Отговорите на задачата зависят от това, дори и на следващите подточки :)

0
ttitto avatar ttitto 1153 Точки

Съдейки по дадения пример можем да сме сигурни, че трябва да тръгнем от корена надолу.

1
DHristoskov avatar DHristoskov 211 Точки

Днес и аз започнах да решавам домашната работа малко ми идва трудно, защото никога до този момент не съм ползвал/работил с дървета, за момента е готова само първа задача след много четене и гледане на клипове в нета.

Play With Trees

1
tsv.georgieva avatar tsv.georgieva 35 Точки

Имам една забележка: корен на дървото на английски е root, а не rood :)

2
DHristoskov avatar DHristoskov 211 Точки

Благодаря за забележката не съм забелязал какви съм ги писал, както се казва никога не е късно да стана зарезил, не знам защо съм го кръстил така сигурно ми се е сторило естетически по издържано  laugh

0
ttitto avatar ttitto 1153 Точки

Ето го и моето решение.

Незнам дали правилно съм разбрал изискването за унарния оператор минус, защото според мен примерът -2- -1 трябва да дава отговор -1, а се очаква 3. Та моят калкулатор изкарва -1.

Бих бил благодарен на коментари по първа задача, защото ми се струва, че доста непрактично я решавам.

1
mihayloff14 avatar mihayloff14 824 Точки

И аз изкарах този резултат за примера от третата задача.

Според мен това е просто грешка в примерите, защото и на ръка да се сметне, отново се получава -1.

0
ivailozd avatar ivailozd 75 Точки

И едно домашно на Java: ТУК

Втора задача я написах, но не успях да тествам. По някаква причина не иска да прочете някои папки и се стига до NullPointerException на 35-ти ред. Пропилях много време да чета и тествам, не разбирам защо е така. Не би трябвало да е до права - програмата се стартира с моя потребител и чете мои папки. Пробвах с различни права на папките. Ако някой види грешката, ще съм благодарен.

0
22/07/2015 16:12:41
krach avatar krach 65 Точки

Имах подобен проблем при други задачи, които съм правил. Може да сложиш проверка дали може папката/файла е достъпен.

0
ivailozd avatar ivailozd 75 Точки

Пробвах с подобна проверка, но се оказа, че прескача доста папки и по този начин обезсмисля задачата. Благодаря за съвета!

0
creature5 avatar creature5 17 Точки

Погледнах първата ти задача . Забравил си да направиш частта за LeafNodes.

И също като принтираш нодовете на middleNodes сортирани ли са ? Не съм много на ти с ламбда изразите, но мисля че не са ти сортирани.

0
alexpopov avatar alexpopov 5 Точки

Имам един структурен въпрос за първа задача на домашното - защо методите за намиране на node-ове - root, middle, leaf - са статични? По този начин ние в рамките на програмата може да имаме само едно дърво.

3
krach avatar krach 65 Точки

Ами аз ги направих статични и в последствие ги направих да не са. Като така си реших и проблема с дженериците. Иначе при статични методи трябваше да изпозлвам обекти.

0
MartinDachev avatar MartinDachev 30 Точки

Защото при нестатични методи, трябва да има инстанция на класа в който се намират, за да се използват. Например Console.WriteLine() - това е статичен метод в класа Console -  ти нямаш инстанция от тип Console, например нямаш

Console con; con.WriteLine();

А само Console.WriteLine() - защото WriteLine() се намира в класа Console и е статичен метод. По същата причина и споменатите методи са дадени като статични. Затова и Main() метода е статичен ;).

P.S. "По този начин ние в рамките на програмата може да имаме само едно дърво." - ами не, може да има много дървета, може и никакви да няма, статичният метод не лимитира броя на инстанциите на класа.

3
23/07/2015 01:20:06
krach avatar krach 65 Точки

За лимита на дърветата, колегата може би има предвид, че няма да може да се оперира с повече от едно.

След създаването на 1вото дърво, изпозлването на статичен речник(Use a dictionary to map nodes by their value.). Всеки нод ще се закача за съществуваш при съвпадение на стпойностите.
Поне при моята реализация така се получаваше със статични методи и nodeByValue. И така примерно няма да може да намери 1вия нод (по условие без родител). Може да изведе и лист от нодове без родител при повече от 1 дърво.

0
23/07/2015 07:58:44
tsv.georgieva avatar tsv.georgieva 35 Точки

Споделям и моето решение на първа задача. Използвала съм hint-овете от домашното и имплементацията на Tree<T> от лаба.

Реших да си сваля Visual Studio 2015 днес и в кода съм използвала някои от новите неща в C#6 (да не се чудите как са направени някои "магийки").

4
23/07/2015 00:48:02
dim4o avatar dim4o 288 Точки

Доста спретнати и кратки решения имаш. На места вкарваш синтаксис, който не бях виждал.

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