ዝርዝር ሁኔታ:
ቪዲዮ: ነጠላ የተገናኘ ዝርዝርን እንዴት ደርድር እችላለሁ?
2024 ደራሲ ደራሲ: Lynn Donovan | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2023-12-15 23:42
ከታች ቀላል ማስገባት ነው መደርደር አልጎሪዝም ለ የተገናኘ ዝርዝር . 1) ባዶ ይፍጠሩ ተደርድሯል (ወይም ውጤት) ዝርዝር 2) የተሰጠውን መሻገር ዝርዝር ለእያንዳንዱ መስቀለኛ መንገድ የሚከተሉትን ያድርጉ። ሀ) የአሁኑን መስቀለኛ መንገድ አስገባ ተደርድሯል ውስጥ መግባት ተደርድሯል ወይም ውጤት ዝርዝር . 3) የተሰጠውን ራስ ይቀይሩ የተገናኘ ዝርዝር ወደ ራስ ተደርድሯል (ወይም ውጤት) ዝርዝር.
ከዚህ አንፃር የተገናኘ ዝርዝር መደርደር ይችላሉ?
አዋህድ መደርደር ብዙውን ጊዜ የሚመረጠው ለ የተገናኘ ዝርዝር መደርደር . ዘገምተኛ የዘፈቀደ መዳረሻ አፈጻጸም ሀ የተገናኘ ዝርዝር አንዳንድ ሌሎች ስልተ ቀመሮችን (እንደ ፈጣን መደርደር) ደካማ እንዲሰሩ ያደርጋል፣ እና ሌሎች (እንደ ሄፕሶርት ያሉ) ሙሉ በሙሉ የማይቻል ነው። ጭንቅላት የመጀመርያው መስቀለኛ መንገድ ይሁን የተገናኘ ዝርዝር ለመደርደር እና headRef የጭንቅላት ጠቋሚ ይሆናል።
በሁለተኛ ደረጃ፣ የአረፋ መደርደርን በመጠቀም የተገናኘ ዝርዝር እንዴት ይለያሉ? የአረፋ መደርደርን ለማከናወን የሚከተሉትን ደረጃዎች እንከተላለን፡
- ደረጃ 1፡ በ 2 አጎራባች ኖዶች ላይ ያለው መረጃ ወደላይ ቅደም ተከተል እንዳለው ወይም እንዳልሆነ ያረጋግጡ። ካልሆነ የ 2 አጎራባች አንጓዎችን ውሂብ ይቀይሩ።
- ደረጃ 2፡ ማለፊያ 1 መጨረሻ ላይ ትልቁ ኤለመንት በዝርዝሩ መጨረሻ ላይ ይሆናል።
- ደረጃ 3: ሁሉንም ንጥረ ነገሮች ሲጀምሩ, ዑደቱን እናቋርጣለን.
እንዲያው፣ በተገናኘ ዝርዝር ውስጥ እንዴት ውሂብ መደርደር ይቻላል?
አልጎሪዝም
- ሁለት ባህሪያት ያለው ክፍል ፍጠር: ውሂብ እና ቀጣይ.
- ሁለት ባህሪያት ያለው ሌላ የመደብ ዝርዝር ይፍጠሩ፡ ጭንቅላት እና ጅራት።
- addNode() ወደ ዝርዝሩ አዲስ መስቀለኛ መንገድ ያክላል፡-
- sortList() የዝርዝሩን አንጓዎች በከፍታ ቅደም ተከተል ያስቀምጣል።
- ማሳያ () በዝርዝሩ ውስጥ ያሉትን አንጓዎች ያሳያል:
የተገናኘውን ዝርዝር በፊደል ቅደም ተከተል እንዴት መደርደር እችላለሁ?
መደርደር ሕብረቁምፊ የተገናኘ ዝርዝር በጃቫ ቀላል ነው። ትችላለህ መደርደር ሕብረቁምፊው የተገናኘ ዝርዝር በመውጣት ላይ በፊደል ቅደም ተከተል በመጠቀም መደርደር ( ዝርዝር ዝርዝር ). እርስዎም ይችላሉ መደርደር ሕብረቁምፊው የተገናኘ ዝርዝር በመውረድ ላይ በፊደል ቅደም ተከተል በመጠቀም መደርደር ( ዝርዝር ዝርዝር , Comparator ሐ).
የሚመከር:
ድርብ የተገናኘ ዝርዝር DLL ከአንድ የተገናኘ ዝርዝር SLL ጋር እንዴት ይነጻጸራል?
ድርብ የተገናኘ ዝርዝር መግቢያ፡- በድርብ የተገናኘ ዝርዝር (DLL) ተጨማሪ ጠቋሚ፣ በተለይም ቀዳሚ ጠቋሚ ተብሎ የሚጠራ፣ ከቀጣዩ ጠቋሚ እና በአንድ የተገናኘ ዝርዝር ውስጥ ካሉ መረጃዎች ጋር ይዟል። SLL የውሂብ መስክ እና የሚቀጥለው አገናኝ መስክ ብቻ ያላቸው አንጓዎች አሉት። ዲኤልኤል 3 መስኮች ስላለው ከኤስኤልኤል የበለጠ ማህደረ ትውስታን ይይዛል
ክብ የተገናኘ ዝርዝርን እንዴት ይሰርዛሉ?
ከክበብ የተገናኘ ዝርዝር መሰረዝ ዝርዝሩ ባዶ ካልሆነ ሁለት ጠቋሚዎችን curr እና prev እንገልፃለን እና ጠቋሚውን ከራስ መስቀለኛ መንገድ ጋር እናስጀምረዋለን። የሚሰረዘውን መስቀለኛ መንገድ ለማግኘት currን ተጠቅመው ዝርዝሩን ያዙሩት እና ኩርባውን ወደሚቀጥለው መስቀለኛ መንገድ ከማንቀሳቀስዎ በፊት ሁል ጊዜ prev = curr ያዘጋጁ። መስቀለኛ መንገድ ከተገኘ, በዝርዝሩ ውስጥ ብቸኛው መስቀለኛ መንገድ መሆኑን ያረጋግጡ
በድርብ የተገናኘ ዝርዝር እና በክብ የተገናኘ ዝርዝር መካከል ያለው ልዩነት ምንድን ነው?
ክብ የተገናኘ ዝርዝር የኖስታርት ወይም የመጨረሻ ኖዶች ያሉበት ነው፣ ነገር ግን በምትኩ ክብ ቅርጽን ይከተላሉ። ድርብ-የተገናኘ ዝርዝር እያንዳንዱ መስቀለኛ መንገድ ወደሚቀጥለው መስቀለኛ መንገድ ብቻ ሳይሆን ወደ ቀዳሚው መስቀለኛ መንገድ የሚጠቁምበት አንዱ ነው።
የተገናኘ ዝርዝርን ሁለትዮሽ መፈለግ ይችላሉ?
አዎ፣ ዝርዝሩ ከታዘዘ እና በዝርዝሩ ውስጥ ያሉትን የንጥረ ነገሮች ብዛት ካወቁ ሁለትዮሽ ፍለጋ በተገናኘው ዝርዝር ውስጥ ይቻላል። ነገር ግን ዝርዝሩን እየደረደሩ ሳለ፣ ወደዚያ መስቀለኛ መንገድ በጠቋሚ በኩል አንድ ነጠላ ኤለመንት በአንድ ጊዜ መድረስ ይችላሉ ማለትም የቀድሞ መስቀለኛ መንገድ ወይም ቀጣይ መስቀለኛ መንገድ።
የተገናኘ ዝርዝርን በመጠቀም ቁልል እና ወረፋ መተግበር እንችላለን?
እያንዳንዱ መስቀለኛ መንገድ እሴት እና ወደ ቀጣዩ መስቀለኛ መንገድ አገናኝ አለው። የተገናኘ ዝርዝር ሁለት ታዋቂ መተግበሪያዎች ቁልል እና ወረፋ ናቸው። ወረፋ፡ ወረፋ የዳታ መዋቅር ነው፣ እሱም First in First out(FIFO) መርህን ይጠቀማል። ወረፋ በተደራራቢ፣ ድርድር እና በተገናኘ ዝርዝር ሊተገበር ይችላል።