የኮምፒውተር ሳይንስ ሁሉም የስልተ ቀመሮችን እና የመረጃ አወቃቀሮችን ውስብስብነት መረዳት ነው።
መደርደር ያለባቸው የንጥሎች ዝርዝር አለህ፣ ነገር ግን የበለጠ ውስብስብ የመደርደር አልጎሪዝም ለመጠቀም ጊዜ ወይም ግብአት የለህም።
የማስገቢያ መደርደር በጣም ቀላሉ የመደርደር ስልተ ቀመሮች አንዱ ነው፣ ነገር ግን ለትልቅ ዝርዝሮች ቀርፋፋ ሊሆን ይችላል።
ቀላል አተገባበር እና ግንዛቤ ይህ ዘዴ በፕሮግራም አድራጊዎች ዘንድ ተወዳጅ እንዲሆን አድርጎታል. ለአነስተኛ ዝርዝሮች ወይም ፈጣን መፍትሄ በሚፈልጉበት ጊዜ ተስማሚ ነው.
በዚህ ብሎግ ልጥፍ፣ የማስገቢያ መደርደርን ጊዜ ውስብስብነት እንመለከታለን። ይህ አልጎሪዝም ድርድሮችን ለመደርደር ጥቅም ላይ ይውላል፣ እና የO(n.) የስራ ጊዜ አለው።2). ይህ ማለት የጊዜ ውስብስብነት በአደራደሩ መጠን ይጨምራል.
ነገር ግን፣ ይህ ስልተ ቀመር ከሌሎች የመደርደር ስልተ ቀመሮች ለምሳሌ ፈጣን መደርደር ብዙ ጊዜ ፈጣን ሊሆን ይችላል።
የማስገቢያ መደርደር እንዴት እንደሚሰራ ጠለቅ ብለን እንመርምር!
የማስገባት ስልተ ቀመር ምንድን ነው?
አንድ አካል በአንድ ጊዜ፣ የማስገባት ድርድር ሊደረደር የሚችል ድርድር ያመነጫል፣ እሱም በተደጋጋሚ እንደ ዝርዝር ይባላል።
ለምሳሌ, መደርደር በኮምፒተር ፕሮግራሞች ውስጥ እንደ ኮምፕሌተር ባሉ ውስብስብ ፕሮግራሞች ውስጥ ይተገበራል, የቶከኖች ቅደም ተከተል ለፕሮግራሙ ትርጓሜ አስፈላጊ ነው.
ማስገቢያ ደርድር እንዴት ነው የሚሰራው?
አደራደርን ለመደርደር የማስገባት ደርድርን ስንጠቀም ስልተ ቀመር በዝርዝሩ ውስጥ ትንሹን ነገር በማግኘት እና በትክክለኛው ቦታ ላይ በማስገባት ይጀምራል።
ከዚያም የሚቀጥለውን ትንሹን ነገር ያገኛል እና ወደ ትክክለኛው ቦታ ያስገባል, ወዘተ.
አልጎሪዝም የሚሠራው ዝርዝሩን በማዞር እያንዳንዱን ንጥል ከፊቱ ካለው ጋር በማነፃፀር ነው።
እቃዎቹ በተሳሳተ ቅደም ተከተል ውስጥ ከሆኑ, አልጎሪዝም ይቀይራቸዋል. ከዚያም ዝርዝሩ መደረደሩን ይመረምራል, እና ከሆነ, አልጎሪዝም ያበቃል.
በተግባር፣ የማስገቢያ ዓይነት ብዙ ጊዜ የሚተገበረው ጥቂት የኮድ መስመሮችን በመጠቀም ሲሆን ይህም ትናንሽ ድርድሮችን ለመደርደር ተመራጭ ያደርገዋል። ይሁን እንጂ ይህን ስልተ ቀመር ሲጠቀሙ የጊዜ ውስብስብነት ግምት ውስጥ መግባት ይኖርበታል.
ለምሳሌ:
የማስገቢያ መደርደር እንዴት እንደሚሰራ የሚያሳይ ምሳሌ እዚህ አለ። የሚከተለውን ድርድር እንጠቀማለን-
1, 2, 3, 4, 5, 6
አልጎሪዝም የሚጀምረው በዝርዝሩ ውስጥ ትንሹን ንጥል በማግኘት ነው, እሱም 1. ከዚያም ወደ ትክክለኛው ቦታ, የመጀመሪያውን ቦታ ያስገባል. ከዚያም የሚቀጥለውን ትንሹን ነገር ያገኛል, እሱም 2. በትክክለኛው ቦታ ላይ ያስገባል, ይህም ሁለተኛው ቦታ ነው.
ከዚያም ቀጣዩን ትንሹን ነገር ያገኛል, እሱም 3. ወደ ትክክለኛው ቦታ ያስገባል, ይህም ሦስተኛው ቦታ ነው.
ከዚያም የሚቀጥለውን ትንሹን ነገር ያገኛል, እሱም 4. በትክክለኛው ቦታ ላይ ያስገባል, ይህም አራተኛው ቦታ ነው, ወዘተ. ዝርዝሩ አሁን ተደርድሯል!
ዝርዝሩን ለመደርደር አልጎሪዝም ስድስት ንጽጽሮችን እና ቅያሬዎችን እንደሚወስድ ከምሳሌው ማየት እንችላለን። ይህ n ስለሚወስድ ነው2 የ n ንጥሎችን ዝርዝር ለመደርደር ማወዳደር እና መለዋወጥ። በዚህ ሁኔታ, n=6.
የማስገቢያ ደርድር ውስብስብነት እንዴት ማሻሻል ይቻላል?
የማስገቢያ ዓይነት የO(n2), የተሻለ የመደርደር ስልተ-ቀመርን በመጠቀም ሊሻሻል ይችላል, ለምሳሌ ፈጣን መደርደር.
Quicksort O(n log n) Runtime አለው፣ እሱም ከO(n2).
ሆኖም፣ በአንዳንድ ሁኔታዎች፣ የማስገቢያ መደርደር ፈጣን ከመደርደር የበለጠ ፈጣን ሊሆን ይችላል።
ለምሳሌ፣ ዝርዝሩ አስቀድሞ በቅደም ተከተል ከሆነ፣ የማስገቢያ መደርደር ፈጣን ከመደርደር ያነሰ ጊዜ ይወስዳል።
በተግባር፣ የማስገቢያ ዓይነት ብዙ ጊዜ የሚተገበረው ጥቂት የኮድ መስመሮችን በመጠቀም ሲሆን ይህም ትናንሽ ድርድሮችን ለመደርደር ተመራጭ ያደርገዋል።
ይሁን እንጂ ይህን ስልተ ቀመር ሲጠቀሙ የጊዜ ውስብስብነት ግምት ውስጥ መግባት ይኖርበታል.
የጊዜ ውስብስብ ነገሮች
በጣም የከፋው የጉዳይ ውስብስብነት O (n2):
የጊዜ ውስብስብነት በአደራደሩ መጠን ይጨምራል. n ይወስዳል2 የ n ንጥሎችን ዝርዝር ለመደርደር ማወዳደር እና መለዋወጥ።
ለምሳሌ፣ የመጠን 1000 ድርድር ካለን፣ ስልተ ቀመር 1,000,000 ንፅፅሮችን ይወስዳል እና ድርድርን ለመደርደር ይቀያይራል።
ምርጥ የጉዳይ ውስብስብነት O(n)
የጊዜ ውስብስብነት ከግቤት ድርድር መጠን ጋር ተመሳሳይ ነው። አይ
t የ n ንጥሎችን ዝርዝር ለመደርደር n ንጽጽሮችን እና ቅያሬዎችን ይወስዳል። ለምሳሌ፣ የመጠን ድርድርን አስቡበት 5. ስልተ ቀመር አምስት ንጽጽሮችን ይወስዳል እና ድርድርን ለመደርደር ይለዋወጣል።
አማካኝ የጉዳይ ውስብስብነት O(n2):
የጊዜ ውስብስብነት በዚህ ጉዳይ ላይ በጣም አስከፊ እና ምርጥ በሆኑ ጉዳዮች መካከል ነው.
n ይወስዳል2 የ n ንጥሎችን ዝርዝር ለመደርደር ማወዳደር እና መለዋወጥ።
ስለዚህ የማስገቢያ መደርደር የተረጋጋ የመደርደር ስልተ-ቀመር ነው።
ለምን ማስገባቱ የተረጋጋ ነው?
የማስገባት አይነት የተረጋጋ ነው ምክንያቱም በግቤት ድርድር ውስጥ የእኩል ኤለመንቶችን ቅደም ተከተል ይጠብቃል።
ይህ ለብዙ አፕሊኬሽኖች አስፈላጊ ነው፣ ለምሳሌ እንደ መረጃ ማግኘት ወይም የፋይናንስ ትንተና። ለምሳሌ, ሁለት የቁጥሮች ዝርዝሮች ካሉን እና እነሱን ማወዳደር ከፈለግን, የንጥረ ነገሮች ቅደም ተከተል መያዙን ማረጋገጥ አለብን.
ዝርዝሮቹ ካልተደረደሩ, በትክክል አናነፃፅራቸውም.
መልስ ይስጡ