ලිහිල්ව කිවහොත්, කාල සංකීර්ණතාව යනු ආදාන ප්රමාණය වැඩි වන විට ඇල්ගොරිතමයක මෙහෙයුම් ගණන හෝ ධාවන කාලය වර්ධනය වන ආකාරය සාරාංශ කිරීමේ ක්රමයකි.
ජීවිතයේ බොහෝ දේ මෙන්, කොක්ටේල් සාදයක් අපට තේරුම් ගැනීමට උපකාරී වේ.
මත)
ඔබ සාදයට පැමිණෙන විට, ඔබ සෑම දෙනාගේම අත සොලවන්නට සිදුවේ (සෑම අයිතමයක් සඳහාම මෙහෙයුමක් කරන්න). සහභාගිවන්නන්ගේ සංඛ්යාව N
වැඩි වන විට, සෑම දෙනාගේම අත සොලවන්නට ගතවන කාලය / වැඩ වැඩි වේ O(N)
.
ඇයි O(N)
සහ නැත්තේ cN
?
මිනිසුන් සමඟ අත් හුවමාරු කර ගැනීමට ගතවන කාලයෙහි වෙනසක් ඇත. ඔබට මෙය සාමාන්යකරණය කර නියතයකින් අල්ලා ගත හැකිය c
. නමුත් මෙහි මූලික මෙහෙයුම --- සෑම කෙනෙකු සමඟම අත් හුවමාරු කර ගැනීම --- O(N)
කුමක් වුවත් සෑම විටම සමානුපාතික වේc
. අපි කොක්ටේල් සාදයකට යා යුතුද යන්න ගැන වාද විවාද කිරීමේදී, අපි බොහෝ විට උනන්දු වන්නේ එම රැස්වීම්වල පෙනුම කෙබඳුද යන්න පිළිබඳ මිනිත්තුවේ විස්තර වලට වඩා අප සියලු දෙනා මුණගැසීමට සිදුවනු ඇත.
ඕ (එන් ^ 2)
කොක්ටේල් සාදයේ සත්කාරක සමාගමට අවශ්ය වන්නේ ඔබ සියලු දෙනා මුණගැසෙන මෝඩ ක්රීඩාවක් කිරීමටයි. එමනිසා, ඔබ N-1
වෙනත් පුද්ගලයින් හමුවිය යුතු අතර, ඊළඟ පුද්ගලයා දැනටමත් ඔබව මුණගැසී ඇති හෙයින්, ඔවුන් N-2
මිනිසුන් හමුවිය යුතුය , සහ එසේ ය. මෙම ලිපි මාලාවේ එකතුව වේ x^2/2+x/2
. සහභාගිවන්නන්ගේ සංඛ්යාව වැඩි වන විට, මෙම x^2
පදය විශාල වේගයක් ලබා ගනී , එබැවින් අපි අනෙක් සියල්ල අතහැර දමමු.
ඕ (එන් ^ 3)
ඔබ අනෙක් සියල්ලන් මුණගැසිය යුතු අතර, සෑම රැස්වීමකදීම, ඔබ කාමරයේ සිටින අනෙක් සියල්ලන් ගැන කතා කළ යුතුය.
ඕ (1)
ධාරකයාට යමක් ප්රකාශ කිරීමට අවශ්යයි. ඔවුන් වයින් වීදුරුවක් ගසා ශබ්ද නඟා කතා කරති. හැමෝම ඒවා අසයි. සහභාගිවන්නන් කොපමණ සංඛ්යාවක් සිටියත් කමක් නැත, මෙම මෙහෙයුම සෑම විටම එකම කාලයක් ගතවේ.
ඕ (ලොග් එන්)
ධාරකයා අකාරාදී පිළිවෙලට සියල්ලන්ම මේසයේ තබා ඇත. දාන් කොහෙද? ඔහු ආදම් සහ මැන්ඩි අතර කොතැනක හෝ සිටිය යුතු යැයි ඔබ තර්ක කරයි (නිසැකවම මැන්ඩි සහ සාක් අතර නොවේ!). ඒ අනුව, ඔහු ජෝර්ජ් සහ මැන්ඩි අතරද? ඔහු ආදම් සහ ෆ්රෙඩ් අතරද සින්ඩි සහ ෆ්රෙඩ් අතරද විය යුතුය. සහ එසේ ය ... අපට සෙට් එකෙන් අඩක් සහ එම කට්ටලයේ අඩක් බැලීමෙන් ඩෑන් කාර්යක්ෂමව සොයාගත හැකිය. අවසානයේදී, අපි O (log_2 N) පුද්ගලයන් දෙස බලමු .
ඕ (එන් ලොග් එන්)
ඉහත ඇල්ගොරිතම භාවිතා කර මේසයේ වාඩි වී සිටින්නේ කොතැනදැයි ඔබට සොයාගත හැකිය. විශාල පිරිසක් මේසය වෙත පැමිණියේ නම්, එක් වරකට, සහ සියල්ලන්ම මෙය කළේ නම්, ඒ සඳහා O (N log N) කාලය ගතවනු ඇත. ඕනෑම භාණ්ඩ එකතුවක් සැසඳිය යුතු විට ඒවා වර්ග කිරීමට කොපමණ කාලයක් ගතවේද යන්න මෙයින් පෙනේ.
හොඳම / නරකම නඩුව
ඔබ සාදයට පැමිණ ඉනිගෝව සොයා ගැනීමට අවශ්යයි - කොපමණ කාලයක් ගතවේද? එය ඔබ පැමිණෙන විට රඳා පවතී. සෑම කෙනෙකුම ඔබ වටා ඇඹරෙන්නේ නම්, ඔබ නරකම තත්වයට පත්ව ඇත: එයට O(N)
කාලය ගතවනු ඇත. කෙසේ වෙතත්, සෑම කෙනෙකුම මේසයේ වාඩි වී සිටින්නේ නම්, එය ගත වන්නේ O(log N)
කාලය පමණි . එසේත් නැතිනම් ඔබට ධාරකයාගේ වයින් ග්ලාස්- ing ෝෂා කිරීමේ බලය භාවිතා කළ හැකි අතර ඒ සඳහා ගත වන්නේ O(1)
කාලය පමණි .
ධාරකය ලබා ගත නොහැකි යැයි උපකල්පනය කිරීමෙන්, ඔබ පැමිණෙන විට පක්ෂයේ තත්වය මත පදනම්ව, ඉනිගෝ-සොයා ගැනීමේ ඇල්ගොරිතමයට පහළ සීමාවක් O(log N)
සහ ඉහළ සීමාවක් ඇති බව අපට පැවසිය හැකිය O(N)
.
අවකාශය සහ සන්නිවේදනය
ඇල්ගොරිතම අවකාශය හෝ සන්නිවේදනය භාවිතා කරන්නේ කෙසේද යන්න තේරුම් ගැනීමට එකම අදහස් යොදා ගත හැකිය.
නත් විසින් "ගීතවල සංකීර්ණත්වය" යන මාතෘකාව යටතේ කලින් ලිපියක් ලියා ඇත .
ප්රමේයය 2: සංකීර්ණ අත්තනෝමතික ලෙස දිගු ගීත O (1) පවතී.
සාධනය: (කේසි සහ සන්ෂයින් බෑන්ඩ් නිසා). (15) විසින් අර්ථ දක්වා ඇති Sk ගීත සලකා බලන්න, නමුත් සමඟ
V_k = 'That's the way,' U 'I like it, ' U
U = 'uh huh,' 'uh huh'
සියල්ලටම k.