የአልጎሪዝም ውስብስብነት በዋናነት ሁለት ምንጮችን ይመለከታል:
ጊዜ
(የአፈፃፀም ቆይታ) እና
ክፍተት
(የማህደረ ትውስታ አጠቃቀም)። የጊዜ ውስብስብነት የሩጫ ጊዜ በመግቢያ መጠን እንዴት እንደሚያድግ ሲለካ (
n
), የቦታ ውስብስብነት የማህደረ ትውስታ ፍጆታን ይገመግማል. ለምሳሌ:
- ስልተ ቀመር ከ ጋር
ኦ(n)
የጊዜ ውስብስብነት ከግቤት መጠን ጋር በመስመራዊ ሚዛን።
- ስልተ ቀመር ከ ጋር
O(1)
የቦታ ውስብስብነት የግቤት መጠኑ ምንም ይሁን ምን ቋሚ ማህደረ ትውስታን ይጠቀማል።
ሁለቱም መለኪያዎች አስፈላጊ ናቸው. ፈጣን ስልተ ቀመር በትልልቅ የውሂብ ስብስቦች ላይ ማህደረ ትውስታን ሊያሟጥጥ ይችላል, ነገር ግን ማህደረ ትውስታ ቆጣቢ ስልተ-ቀመር ለእውነተኛ ጊዜ መተግበሪያዎች በጣም ቀርፋፋ ሊሆን ይችላል.
ቅልጥፍና አዋጭነትን ያዛል። የ10 ንጥሎችን ዝርዝር ከ10 ሚሊዮን ጋር ለመደርደር ያስቡበት:
- A
የአረፋ መደርደር
(
ኦ(n)
) ለአነስተኛ የውሂብ ስብስቦች በቂ ሊሆን ይችላል ነገር ግን ለትላልቅ ሰዎች ተግባራዊ አይሆንም።
- A
መደርደር አዋህድ
(
ኦ(n log n)
) ትላልቅ የውሂብ ስብስቦችን በጸጋ ይይዛል ነገር ግን ተጨማሪ ማህደረ ትውስታን ይፈልጋል።
ውስብስብነት ትንተና ስልተ ቀመሮችን ለማነፃፀር ሁለንተናዊ ቋንቋን ይሰጣል፣ ሃርድዌር-ተኮር ዝርዝሮችን ያስወግዳል። ገንቢዎች መጠነ-መጠንን እንዲተነብዩ እና በወሳኝ ስርዓቶች ውስጥ ማነቆዎችን እንዲያስወግዱ ኃይል ይሰጣቸዋል።
አሲምፕቲክ ማስታወሻዎች የተግባሮችን መገደብ ባህሪን ይገልፃሉ፣ ለስብስብነት አጭር እጅ ይሰጣሉ። ሦስቱ ዋና ምልክቶች ናቸው:
Big O notation አንድ ስልተ ቀመር የሚወስደውን ከፍተኛ ጊዜ ወይም ቦታ ይገልጻል። ለምሳሌ:
-
O(1)
ቋሚ ጊዜ (ለምሳሌ፡ የድርድር አባልን በመረጃ ማግኘት)።
-
ኦ(n)
መስመራዊ ጊዜ (ለምሳሌ፣ በዝርዝሮች መደጋገም)።
-
ኦ(n)
: አራት ጊዜ (ለምሳሌ: በአረፋ ዓይነት ውስጥ ያሉ የጎጆ ቀለበቶች)።
ቢግ O በጣም በተለምዶ ጥቅም ላይ የሚውለው መለኪያ ነው, ምክንያቱም የአፈፃፀም ጣሪያዎችን ዋስትና ይሰጣል.
ኦሜጋ የሚፈለገውን አነስተኛ ጊዜ ይገልጻል። ለምሳሌ:
- መስመራዊ ፍለጋ አለው።
(1)
ዒላማው የመጀመሪያው አካል ከሆነ.
ብሩህ ተስፋ ቢኖረኝም፣ የምርጥ ጉዳይ ትንተና ለከፋ-ጉዳይ እቅድ ብዙ መረጃ የሚሰጥ ነው።
ቴታ ቢግ ኦ እና ኦሜጋን ያጣምራል። አንድ ስልተ ቀመር በጣም ጥሩ እና መጥፎ ጉዳዮች ተመሳሳይ ከሆኑ:
-
(n log n)
የአማካይ እና የከፋ ሁኔታ ሁኔታዎችን ለማዋሃድ ተፈጻሚ ይሆናል።
እነዚህ ማስታወሻዎች በዕድገት ደረጃዎች ላይ በማተኮር ቋሚዎችን እና ዝቅተኛ ቅደም ተከተሎችን ያስወግዳሉ። ለምሳሌ፡- 2n + 3n + 4 ቀላል ያደርገዋል ኦ(n) ምክንያቱም ኳድራቲክ ቃሉ ለትልቅ የበላይ ነው። n .
ውስብስብነት ክፍሎችን መረዳቱ ስልተ ቀመሮችን በማስፋፋት ለመመደብ ይረዳል። ከአብዛኛዉ እስከ ትንሹ ቀልጣፋ ተዋረድ ይኸውና።:
የማስፈጸሚያ ጊዜ ወይም ማህደረ ትውስታ ሳይለወጥ ይቆያል
n
ያድጋል።
-
ለምሳሌ
: የሃሽ ሰንጠረዥ እሴትን በቁልፍ መድረስ።
የሩጫ ጊዜ በሎጋሪዝም ያድጋል
n
.
-
ለምሳሌ
ሁለትዮሽ ፍለጋ እያንዳንዱን ድግግሞሽ የግቤት ቦታ በግማሽ ይቀንሳል።
የአሂድ ጊዜ ሚዛኖች በተመጣጣኝ ሁኔታ
n
.
-
ለምሳሌ
ባልደረደረ ዝርዝር ውስጥ መስመራዊ ፍለጋ።
በመከፋፈል እና በማሸነፍ ስልተ ቀመሮች ውስጥ የተለመደ።
-
ለምሳሌ
መደርደር እና ክምር አዋህድ።
የጎጆ ድግግሞሾች ወደ ፈንጂ እድገት ይመራሉ.
-
ለምሳሌ
የአረፋ መደርደር እና ምርጫ መደርደር።
የሩጫ ጊዜ ከእያንዳንዱ ተጨማሪ ግብዓት ጋር በእጥፍ ይጨምራል።
-
ለምሳሌ
: ተደጋጋሚ ፊቦናቺ ስሌት ያለ ማስታወሻ.
በፐርሙቴሽን ላይ የተመሰረቱ ስልተ ቀመሮች።
-
ለምሳሌ
የተጓዥ ሻጩን ችግር በጉልበት መፍታት።
መካከል ያለው ልዩነት ኦ(n log n) እና ኦ(n) ጠንከር ያለ ይሆናል n = 10 : የመጀመሪያው በሚሊሰከንዶች ሊሰራ ይችላል ፣ የኋለኛው ግን ቀናት ሊወስድ ይችላል።
ስልተ ቀመር በግቤት አወቃቀሮች ላይ ተመስርተው በተለየ መንገድ ይሰራሉ። ሁሉንም ጉዳዮች መተንተን ጥንካሬን ያረጋግጣል:
የውሂብ ጎታ መጠይቅ አመቻች በሃሽ መቀላቀል መካከል ሊመርጥ ይችላል ( ኦ(n + ሜትር) ) እና የጎጆ ሉፕ መቀላቀል ( ኦ(nm) ) በመረጃ ስርጭት ላይ የተመሰረተ. በጣም መጥፎው ትንተና ለደህንነት-ወሳኝ ስርዓቶች (ለምሳሌ የአቪዬሽን ሶፍትዌር) ወሳኝ ነው፣ ያልተጠበቀ ሁኔታ ተቀባይነት የሌለው ነው።
ተመሳሳይ ችግር የተለያዩ ስልተ ቀመሮችን በመጠቀም ሊፈታ ይችላል. ለምሳሌ በእሴቶች ዝርዝር ውስጥ የዒላማ እሴትን የመፈለግ ችግር የተለያዩ ስልተ ቀመሮችን በመጠቀም እንደ መስመራዊ ፍለጋ፣ ሁለትዮሽ ፍለጋ ወይም ሃሽ ሠንጠረዥ ፍለጋ ሊፈታ ይችላል።
ከታች ያለው ሰንጠረዥ የእነዚህን ስልተ ቀመሮች የጊዜ እና የቦታ ውስብስብነት በዝርዝሩ ውስጥ ዒላማውን ለመፈለግ ያወዳድራል። n እሴቶች.
የአልጎሪዝም ምርጫ የሚወሰነው በችግሩ መጠን፣ በግቤት ባህሪያት እና ባሉ ሀብቶች ላይ ነው። ለምሳሌ፣ ዝርዝሩ ትንሽ እና ያልተደረደረ ከሆነ፣ መስመራዊ ፍለጋ ምርጡ ምርጫ ሊሆን ይችላል። ዝርዝሩ ትልቅ እና የተደረደረ ከሆነ, ሁለትዮሽ ፍለጋ ምርጥ ምርጫ ሊሆን ይችላል. ዝርዝሩ ትልቅ እና ያልተደረደረ ከሆነ፣ የሃሽ ሠንጠረዥ ፍለጋ ምርጡ ምርጫ ሊሆን ይችላል።
Amortized ትንተና አማካይ ጊዜ በቅደም ክወናዎች.
-
ለምሳሌ
ተለዋዋጭ ድርድሮች ሲሞላ ድርብ አቅም። ነጠላ ሳለ
መግፋት
ክወና ሊወስድ ይችላል።
ኦ(n)
ጊዜ, የተገደበ ወጪ ይቀራል
O(1)
.
አልጎሪዝም እንደ
ሞንቴ ካርሎ
እና
የላስ ቬጋስ
ለውጤታማነት በዘፈቀደ ይጠቀሙ።
-
ለምሳሌ
ሚለር-ራቢን ፕሪምሊቲቲ ፈተና ፕሮባቢሊቲካል ዋስትናዎች አሉት ግን ከመወሰኛ ዘዴዎች የበለጠ ፈጣን ነው።
አንዳንድ ችግሮች (ለምሳሌ፣ የቦሊያን እርካታ) ናቸው። NP-ሙሉ ፣ ማለትም የሚታወቅ የብዙ-ጊዜ መፍትሄ የለም ማለት ነው። NP-ሙላትን በቅናሾች ማረጋገጥ የስሌት ጥንካሬን ለመለየት ይረዳል።
አን ኦ(n) ክላስተር አልጎሪዝም ለግዙፍ የውሂብ ስብስቦች ማነቆ ሊሆን ይችላል፣ ይህም እንደ kd ዛፎች ወደ ግምታዊ ዘዴዎች እንዲቀየር ያደርጋል ( ኦ(n log n) ).
የህዝብ ቁልፍ ስርዓቶች በጠንካራነት ላይ ይመረኮዛሉ O(2) ጥቃቶችን ለመቋቋም ችግሮች (ለምሳሌ ኢንቲጀር ማባዛት)።
በእውነተኛ ጊዜ የሚሰጡ ሞተሮች ቅድሚያ ይሰጣሉ O(1) 60+ FPS ለማቆየት የፊዚክስ ማስመሰያዎች አልጎሪዝም።
ግብይቶች አስፈላጊ ናቸው።:
-
ጊዜ vs. ክፍተት
ሃሽ ካርታዎችን ተጠቀም
O(1)
Lookups) በማስታወስ ዋጋ.
-
ቀላልነት vs. ተመራጭነት
የማስገቢያ ዓይነት (
ኦ(n)
) ለትንንሽ፣ ለመደርደር የተቃረበ የውሂብ ስብስቦች ተመራጭ ሊሆን ይችላል።
ለተደጋጋሚ ስልተ ቀመሮች፣ ተደጋጋሚ ግንኙነቶች ሞዴል የአሂድ ጊዜ። ለምሳሌ፣ የድግግሞሽ ዓይነቶችን አዋህድ:
[T(n) = 2T(n/2)+O(n)] ወደዚህ ወስኗል
ኦ(n log n)
በኩል
ማስተር ቲዎረም
.
ተጨባጭ ሙከራ የቲዎሬቲክ ትንታኔን ያሟላል። የመገለጫ መሳሪያዎች (ለምሳሌ Valgrind, perf) የገሃዱ ዓለም ማነቆዎችን ያሳያሉ።
ፓይቶን
መስመራዊ_ሱም(አርአር):
ጠቅላላ = 0
ለቁጥር በ arr:
ጠቅላላ += ቁጥር
ጠቅላላ መመለስ
ኳድራቲክ_ሱም(አርአር):
ጠቅላላ = 0
ለ እኔ በ arr:
ለ j በ arr:
ጠቅላላ += i * j
ጠቅላላ መመለስ
እያለ ኦ(n) ቋሚዎችን አብስትራክት ያስወግዳል፣ ሀ 100n አልጎሪዝም ከሀ ያነሰ ሊሆን ይችላል። 0.01n ስልተ ቀመር ለተግባራዊ n .
አን ኦ(n log n) አልጎሪዝም ዝቅተኛ ሊሆን ይችላል። ኦ(n) ለ n = 10 ከአቅም በላይ ምክንያት.
የተመዘገበ የፊቦናቺ ተግባር ( ኦ(n) ቦታ) ከእንደገና ስሪት በተለየ (በትላልቅ ግብዓቶች ላይ ሊበላሽ ይችላል) O(1) ቦታ)።
ራስ-አመጣጣኝ BST ( ኦ(ሎግ n) ፍለጋ) ከመደበኛ BST የበለጠ ደህንነቱ የተጠበቀ ነው ( ኦ(n) በጣም የከፋ) ለማይታመን ውሂብ።
የአልጎሪዝም ውስብስብነት ትንተና ኮምፓስ ገንቢዎችን በሰፊው የስሌት ቅልጥፍና ውስጥ የሚመራ ነው። ለ MTSC7196 ተማሪዎች፣ ይህንን ዲሲፕሊን መቆጣጠር የንድፈ ሃሳባዊ እውቀትን እና ተግባራዊ እውቀትን ድልድይ ያደርጋል። የጊዜ እና የቦታ መስፈርቶችን በመከፋፈል፣ አሲምፕቲክ ድንበሮችን በማነፃፀር እና በገሃዱ አለም የንግድ ልውውጥን በመዳሰስ ገንቢዎች በሚያምር መጠን እና በአስተማማኝ ሁኔታ የሚሰሩ ስርዓቶችን መስራት ይችላሉ።
በውሂብ ላይ የተመሰረተ ፈጠራ በተገለጸው ዘመን፣ በ ሀ መካከል የመለየት ችሎታ ኦ(n log n) እና አንድ ኦ(n) መፍትሔው ትምህርታዊ ብቻ ሳይሆን ስልታዊ ግዴታ ነው። በጥናትዎ ውስጥ ሲሄዱ፣ ያስታውሱ፡ ውስብስብነት ትንተና ስለ ቁጥሮች እና ምልክቶች ብቻ አይደለም። እሱ ራሱ የስሌትን የልብ ምት ስለመረዳት ነው።
እ.ኤ.አ. ከ 2019 ጀምሮ, የጌጣጌጥ ጌጣጌጥ ተገናኝቶ የቻይናውያን, ቻይና, ጌጣጌጥ ማምረቻ መሠረት. እኛ የጌጣጌጥ ኢንተርፕራይዝ ዲዛይን, ምርት እና ሽያጭ ነን.
+86-19924726359/+86-13431083798
ወለል 13, የዞሜት ስማርት ከተማ, ቁጥር, ቁጥር 13 33 ጁሲስቲን ጎዳና, ሃዚ ዲስትሪ, ጓንግሆ, ቻይና.