Рекурсия ашиглан холбосон жагсаалтаар дамжина уу - Java: 12 алхам
Рекурсия ашиглан холбосон жагсаалтаар дамжина уу - Java: 12 алхам
Anonim
Рекурсия ашиглан холбосон жагсаалтаар дамжина уу - Java
Рекурсия ашиглан холбосон жагсаалтаар дамжина уу - Java

Тавтай морилно уу, рекурсив функцийг хэрхэн яаж хийхийг харуулах энэхүү зааварчилгааны багцыг сонгосонд баярлалаа. Алхам алхмуудыг ойлгохын тулд java -ийн анхан шатны мэдлэг шаардлагатай болно.

Ерөнхийдөө энэ 12 алхамтай процесс 15 минутаас хэтрэхгүй байх ёстой. Нэг минутаас илүү хугацаа шаардагдах цорын ганц алхам бол 4 -р алхам бөгөөд хэрэглэгчээс түүвэр тестийг хийхийг хүсдэг. Ашиглах хугацаа нь хэрэглэгчээс хамаарна, гэхдээ миний тооцоолсноор 3 минутаас хэтрэхгүй хугацаа шаардагдана.

Компьютер дээр танд хэрэгтэй зүйл: Миний туршилтын файл (бид код нэмэх болно). Таны хүссэн java IDE (бид үүнд drjava ашиглах болно).

Алхам 1: Эхний алхам: Java IDE -ийг сонгоно уу

Эхний алхам: Java IDE сонголтоо нээнэ үү
Эхний алхам: Java IDE сонголтоо нээнэ үү

Энэ зааварчилгааны багцад drjava ашиглагдана, зүгээр л шинэ шинэ файл нээнэ үү.

Алхам 2: Хоёрдугаар алхам: Миний.txt файлыг татаж аваад нээнэ үү

Энэ текст нь бидний ажиллах "Зангилаа" ангиас гадна бичсэн код маань зориулалтын дагуу ажиллаж байгаа эсэхийг шалгах зарим тестийг агуулсан болно. Эндээс татаж авна уу

Алхам 3: Гуравдугаар алхам:.txt файлыг IDE рүү хуулж, буулгана

Гуравдугаар алхам:.txt файлыг IDE рүү хуулж, буулгах
Гуравдугаар алхам:.txt файлыг IDE рүү хуулж, буулгах

Текстийг миний файлаас хуулж, нээсэн java IDE дээрээ буулгана уу.

Алхам 4: Дөрөвдүгээр алхам: Тест хийх

Дөрөвдүгээр алхам: Тест хийх
Дөрөвдүгээр алхам: Тест хийх

Энэ нь бидний рекурсив функц зөв ажиллаж байгаа эсэхийг шалгах болно. Өгөгдсөн тестийн жишээг дагаж мөрдөөрэй.

Алхам 5: Тавдугаар алхам: Рекурсив функцийг бий болгох

Тавдугаар алхам: Рекурсив функцийг бий болгох
Тавдугаар алхам: Рекурсив функцийг бий болгох

Шаардлагатай бол дараах зүйлийг бичнэ үү.

public int size () {}

Алхам 6: Зургаа дахь алхам: Рекурсив туслах функцийг бий болгох

Зургаа дахь алхам: Рекурсив туслах функцийг бий болгох
Зургаа дахь алхам: Рекурсив туслах функцийг бий болгох

Шаардлагатай бол дараах зүйлийг бичнэ үү.

нийтийн статик int sizeH (Node x) {}

Алхам 7: Долоо дахь алхам: Үндсэн рекурсив функц дэх Туслах функцийг дуудах

Долоо дахь алхам: Үндсэн рекурсив функц дэх Туслах функцийг дуудах
Долоо дахь алхам: Үндсэн рекурсив функц дэх Туслах функцийг дуудах

Энэ нь бидний функцийг холбосон жагсаалтаас эхнээс нь дамжих болно.

Бидний бичсэн функцүүдийн эхний хэсэгт дараахь зүйлийг бичнэ үү.

буцаах хэмжээH (эхний);

Алхам 8: Найм дахь алхам: Туслах функцын үндсэн тохиолдлыг үүсгэнэ үү

Найм дахь алхам: Туслах функцын үндсэн кейс үүсгэх
Найм дахь алхам: Туслах функцын үндсэн кейс үүсгэх

Рекурсив функц бүр үүнийг дуусгах арга замтай байх ёстой. "Суурь тохиолдол" нь жагсаалтын төгсгөлд хүрэхэд бидэнд хөндлөн гарахаа зогсоох болно.

"Туслагч" функцэд дараах зүйлийг бичнэ үү.

if (x == null) 0 буцаана;

Алхам 9: Есдүгээр алхам: "+1" нэмж, Туслах функцийг дахин дуудна уу

Есөн алхам: "+1" нэмж, Туслах функцийг дахин дуудна уу
Есөн алхам: "+1" нэмж, Туслах функцийг дахин дуудна уу

Бид рекурсив функц зочилдог зангилаа бүрт нэгийг нэмдэг.

"Туслагч" функцэд дараах зүйлийг бичнэ үү.

буцаах 1 + sizeH (x. дараагийн);

Алхам 10: Аравдугаар алхам: Кодоо эмхэтгэх / хадгалах

Хөтөлбөрийг ажиллуулахын өмнө кодыг эмхэтгэх шаардлагатай.

Алхам 11: Арван нэгдүгээр алхам: Хөтөлбөрийг ажиллуулна уу

Програмаа ажиллуулна уу! Гаралт гэж юу байсан бэ? Хэрэв ямар нэг зүйл буруу болсон бол эргэж хараад кодыг яг яг зөв газар оруулсан эсэхээ шалгаарай.

Алхам 12: Арван хоёрдугаар алхам: Баяр хүргэе

Арван хоёрдугаар алхам: Баяр хүргэе!
Арван хоёрдугаар алхам: Баяр хүргэе!

Хэрэв энэ нь таны эцсийн гаралт бол та холбосон жагсаалтаар давтагдах рекурсив функцийг албан ёсоор бичсэн болно.

Зөвлөмж болгож буй: