উত্তর:
বাইনারি-গাছের কার্যকারিতা সম্পর্কে ছন্দবদ্ধ হওয়া অর্থহীন - এগুলি কোনও ডেটা স্ট্রাকচার নয়, তবে ডেটা স্ট্রাকচারের পরিবার, সবগুলিই বিভিন্ন পারফরম্যান্সের বৈশিষ্ট্যযুক্ত। যদিও এটি সত্য যে ভারসাম্যহীন বাইনারি গাছগুলি সন্ধানের জন্য স্ব-ভারসাম্য বাইনারি গাছের চেয়ে অনেক খারাপ ফলাফল করে , অনেকগুলি বাইনারি গাছ রয়েছে (যেমন বাইনারি চেষ্টা) যার জন্য "ভারসাম্য" এর কোনও অর্থ নেই।
map
এবং set
বস্তু।যে কারণে বাইনারি গাছগুলি অনুসন্ধানের জন্য এন-অ্যারি গাছের চেয়ে বেশি ব্যবহৃত হয় তা হ'ল এন-আরি গাছগুলি আরও জটিল, তবে সাধারণত কোনও প্রকৃত গতির সুবিধা দেয় না।
m
নোড সহ একটি (ভারসাম্যযুক্ত) বাইনারি গাছে , এক স্তর থেকে অন্য স্তরে চলে যাওয়ার জন্য একটি তুলনা প্রয়োজন এবং log_2(m)
মোট স্তরগুলির log_2(m)
তুলনায় মোট স্তর রয়েছে ।
বিপরীতে, একটি এন-অ্যারি গাছের পরবর্তী স্তরে যাওয়ার জন্য log_2(n)
তুলনা (বাইনারি অনুসন্ধান ব্যবহার করে) প্রয়োজন হবে। যেহেতু log_n(m)
মোট স্তর রয়েছে তাই অনুসন্ধানের জন্য মোট log_2(n)*log_n(m)
= log_2(m)
তুলনা প্রয়োজন । সুতরাং, যদিও এন-অ্যারি গাছগুলি আরও জটিল, তারা মোট তুলনার প্রয়োজনীয়তার ক্ষেত্রে কোনও সুবিধা দেয় না।
(তবে এন-অ্যারি গাছগুলি কুলুঙ্গি পরিস্থিতিতে এখনও কার্যকর। উদাহরণগুলি যেগুলি সঙ্গে সঙ্গে মনে আসে তা হ'ল কোয়াড-ট্রি এবং অন্যান্য স্পেস-বিভাজনকারী গাছ, যেখানে প্রতি স্তরে মাত্র দুটি নোড ব্যবহার করে স্থান বিভাজন যুক্তিহীনকে জটিল করে তুলবে; এবং অনেকগুলি ডাটাবেসে বি-ট্রি ব্যবহার করা হয়, যেখানে প্রতিটি স্তরে সীমাবদ্ধকরণের ফ্যাক্টরটি কতগুলি তুলনা করা হয় তা নয় তবে হার্ডড্রাইভ থেকে একবারে কতগুলি নোড লোড করা যায়)
যখন বেশিরভাগ লোক বাইনারি গাছ সম্পর্কে কথা বলেন, তারা বাইনারি অনুসন্ধানের কথা না ভেবে প্রায়শই বেশি হন গাছগুলি , তাই আমি প্রথমে এটি কভার করব।
একটি ভারসাম্যহীন বাইনারি অনুসন্ধান গাছ প্রকৃতপক্ষে শিক্ষার্থীদের ডেটা স্ট্রাকচার সম্পর্কে শিক্ষিত করার চেয়ে কিছুটা বেশি কার্যকর। কারণ, যতক্ষণ না তথ্য অপেক্ষাকৃত এলোমেলোভাবে আসে না, গাছ সহজেই তার নিকৃষ্টতম আকারে অবনতি করতে পারে, এটি একটি লিঙ্কযুক্ত তালিকা, যেহেতু সাধারণ বাইনারি গাছগুলি ভারসাম্যহীন না are
একটি ভাল ক্ষেত্রে: আমাকে একবারে এমন কিছু সফ্টওয়্যার ঠিক করতে হয়েছিল যা ম্যানিপুলেশন এবং অনুসন্ধানের জন্য বাইনারি ট্রিতে এর ডেটা লোড করে। এটি তথ্য সাজানো আকারে লিখেছিল:
Alice
Bob
Chloe
David
Edwina
Frank
যাতে এটি পুনরায় পাঠ করার সময় নীচের গাছটি দিয়ে শেষ হয়:
Alice
/ \
= Bob
/ \
= Chloe
/ \
= David
/ \
= Edwina
/ \
= Frank
/ \
= =
যা হ্রাসকারী ফর্ম। আপনি যদি সেই গাছে ফ্রাঙ্কের সন্ধান করতে যান তবে আপনাকে খুঁজে পাওয়ার আগে আপনাকে ছয়টি নোড সন্ধান করতে হবে।
বাইনারি গাছগুলি যখন আপনি ভারসাম্য বজায় রাখেন তখন অনুসন্ধানের জন্য সত্যই কার্যকর হয়ে ওঠে। এর মধ্যে তাদের মূল নোডের সাহায্যে সাব-গাছগুলি ঘোরানো জড়িত যাতে কোনও দুটি উপ-গাছের মধ্যে উচ্চতার পার্থক্য ১ এর চেয়ে কম বা সমান হয় those একই সময়ে একটির উপরে উপরের নামগুলি ভারসাম্যযুক্ত গাছে যুক্ত করা আপনাকে নিম্নলিখিত ক্রমটি পেতে পারে:
1. Alice
/ \
= =
2. Alice
/ \
= Bob
/ \
= =
3. Bob
_/ \_
Alice Chloe
/ \ / \
= = = =
4. Bob
_/ \_
Alice Chloe
/ \ / \
= = = David
/ \
= =
5. Bob
____/ \____
Alice David
/ \ / \
= = Chloe Edwina
/ \ / \
= = = =
6. Chloe
___/ \___
Bob Edwina
/ \ / \
Alice = David Frank
/ \ / \ / \
= = = = = =
আপনি আসলে দেখতে পারেন পুরো উপ-গাছ বাঁদিকে আবর্তিত যেমন এন্ট্রি যোগ করা হয় (ধাপ 3 এবং 6) এবং এই আপনি একটি সুষম বাইনারি ট্রি যা সবচেয়ে খারাপ ক্ষেত্রে লুকআপ দেয় O(log N)
বদলে O(N
) যে অধ: পতিত ফর্ম দেয়। কোনও বিন্দুতে সর্বোচ্চ NULL ( =
) একের বেশি স্তরের দ্বারা সর্বনিম্ন থেকে পৃথক হয় না। আর উপরে চূড়ান্ত গাছ, আপনি ফ্রাঙ্ক (তিন নোড শুধুমাত্র তাকিয়ে জানতে পারেন Chloe
, Edwina
এবং, পরিশেষে,Frank
)।
অবশ্যই আপনি যখন বাইনারি চাপের পরিবর্তে ভারসাম্যযুক্ত বহুমুখী গাছগুলি তৈরি করেন তখন এগুলি আরও বেশি কার্যকর হতে পারে । এর অর্থ হ'ল প্রতিটি নোড একাধিক আইটেম ধরে রাখে (প্রযুক্তিগতভাবে তারা এন আইটেম এবং এন + 1 পয়েন্টার ধারণ করে, একটি বাইনারি ট্রি 1 আইটেম এবং 2 পয়েন্টার সহ 1-ওয়ে মাল্টি-ওয়ে গাছের একটি বিশেষ কেস)।
একটি ত্রি-মুখী গাছ সহ, আপনি এখানে শেষ:
Alice Bob Chloe
/ | | \
= = = David Edwina Frank
/ | | \
= = = =
এটি সাধারণত আইটেমের সূচকগুলির জন্য কীগুলি বজায় রাখতে ব্যবহৃত হয়। আমি হার্ডওয়্যারটির জন্য অপ্টিমাইজড ডাটাবেস সফ্টওয়্যার লিখেছি যেখানে নোডটি হ'ল একটি ডিস্ক ব্লকের আকার (বলে, 512 বাইট) এবং আপনি একক নোডে যতটা সম্ভব কীগুলি রেখেছেন। পয়েন্টার এই ক্ষেত্রে আসলে একটি নির্দিষ্ট দৈর্ঘ্যের রেকর্ড ডাইরেক্ট-ফাইল অ্যাক্সেস সূচক ফাইল থেকে পৃথক মধ্যে রেকর্ড নম্বর ছিল (তাই রেকর্ড সংখ্যা X
মাত্র চাইছেন দ্বারা পাওয়া যেতে পারে X * record_length
)।
উদাহরণস্বরূপ, যদি পয়েন্টারগুলি 4 বাইট হয় এবং কীটির আকার 10 হয়, 512-বাইট নোডে কীগুলির সংখ্যা 36 হয় That's এটি 36 কী (360 বাইট) এবং 37 পয়েন্টার (148 বাইট) সহ মোট 508 বাইট সহ নোড প্রতি 4 বাইট নষ্ট
মাল্টি-ওয়ে কী ব্যবহার করে একটি দ্বি-পর্যায়ে অনুসন্ধানের জটিলতার পরিচয় দেওয়া (নোডের সঠিক কীটি অনুসন্ধানের জন্য একটি ছোট অনুক্রমের (বা লিনিয়ার বাইনারি) অনুসন্ধানের সাথে মিলিত সঠিক নোডের সন্ধানের একাধিক উপায় অনুসন্ধান) তবে এতে সুবিধাটি এটির চেয়ে কম ডিস্ক I / O করা বেশি।
আমি ইন-মেমরি কাঠামোর জন্য এটি করার কোনও কারণ দেখতে পাচ্ছি না, আপনি ভারসাম্যযুক্ত বাইনারি গাছের সাথে লেগে থাকা এবং আপনার কোডটি সহজ রাখার চেয়ে ভাল।
O(log N)
ওভারের সুবিধাগুলিও মনে রাখবেনO(N)
যখন আপনার ডেটা সেটগুলি ছোট হয় তখন সত্যিই উপস্থিত হয় না। আপনি যদি নিজের ঠিকানা বইটিতে পনেরো জনকে সঞ্চয় করার জন্য একটি বহু-উপায় গাছ ব্যবহার করছেন তবে এটি সম্ভবত ওভারকিল। সুবিধাগুলি যখন আপনি গত দশ বছরে আপনার এক লক্ষ গ্রাহকের কাছ থেকে প্রতিটি অর্ডারের মতো কিছু সঞ্চয় করে রাখেন তখন আসে।
বিগ-ও স্বরলিপিটির পুরো বিন্দুটি N
অনন্তের কাছে যাওয়ার সাথে কী ঘটে তা নির্দেশ করে । কিছু লোকের মধ্যে দ্বিমত থাকতে পারে তবে আপনি যদি নিশ্চিত হন যে ডেটা সেটগুলি নির্দিষ্ট আকারের নীচে থাকবে যতক্ষণ না অন্য কিছু সহজেই পাওয়া যায় না :-)
বাইনারি গাছের অন্যান্য ব্যবহারের মতো, এখানে অনেকগুলি রয়েছে:
অনুসন্ধানের গাছগুলির জন্য আমি যে পরিমাণ ব্যাখ্যা উত্পন্ন করেছি তা প্রদত্ত, আমি অন্যদের সম্পর্কে আরও বিস্তারিতভাবে জানার জন্য তত্পর নই, তবে আপনার ইচ্ছা করলে এগুলি গবেষণা করার পক্ষে যথেষ্ট হওয়া উচিত।
মোর্স কোডের সংগঠন একটি বাইনারি গাছ।
বাইনারি ট্রি হ'ল একটি ট্রি ডেটা কাঠামো যাতে প্রতিটি নোডে সর্বাধিক দুটি শিশু নোড থাকে, সাধারণত "বাম" এবং "ডান" হিসাবে স্বীকৃত। বাচ্চাদের সাথে নোডগুলি প্যারেন্ট নোড এবং শিশু নোডগুলিতে তাদের পিতামাতার উল্লেখ থাকতে পারে। গাছের বাইরে প্রায়শই "মূল" নোড (সমস্ত নোডের পূর্বপুরুষ) এর একটি উল্লেখ পাওয়া যায়, যদি এটি বিদ্যমান থাকে। ডেটা স্ট্রাকচারের কোনও নোড রুট নোড থেকে শুরু করে এবং বারে বারে বাম বা ডান সন্তানের উল্লেখ অনুসরণ করে পৌঁছতে পারে। একটি বাইনারি গাছে প্রতিটি নোডের একটি ডিগ্রি সর্বোচ্চ দুটি হয়।
বাইনারি গাছগুলি দরকারী, কারণ আপনি ছবিতে দেখতে পাচ্ছেন, আপনি যদি গাছের কোনও নোড খুঁজতে চান তবে আপনাকে কেবল সর্বোচ্চ 6 বার দেখতে হবে। উদাহরণস্বরূপ, আপনি যদি নোড 24 অনুসন্ধান করতে চান তবে আপনি মূল থেকে শুরু করবেন।
এই অনুসন্ধান নীচে চিত্রিত:
আপনি দেখতে পাচ্ছেন যে আপনি প্রথম পাসে পুরো গাছের অর্ধেকটি নোড বাদ দিতে পারেন। এবং দ্বিতীয় বাম subtree অর্ধেক। এটি খুব কার্যকর অনুসন্ধানের জন্য তোলে। এটি করা হয় 4 বিলিয়ন উপাদানগুলিতে করা হয় তবে আপনাকে কেবলমাত্র সর্বোচ্চ 32 বার অনুসন্ধান করতে হবে। অতএব, গাছটিতে যত বেশি উপাদান রয়েছে, তত তত দক্ষ আপনার অনুসন্ধান করা যেতে পারে।
বিলোপ জটিল হয়ে উঠতে পারে। নোডের যদি 0 বা 1 বাচ্চা থাকে তবে এটি মুছতে হবে না এমন কিছু বাদ দেওয়ার জন্য কিছু পয়েন্টার সরিয়ে নিয়ে যাওয়া বিষয়। তবে আপনি 2 বাচ্চা সহ কোনও নোড সহজে মুছতে পারবেন না। সুতরাং আমরা একটি শর্ট কাট নিতে। ধরা যাক আমরা নোড 19 মুছতে চেয়েছি।
যেহেতু বাম এবং ডান পয়েন্টারগুলি কোথায় সরানো যায় তা নির্ধারণের চেষ্টা করা সহজ নয়, তাই আমরা এটির পরিবর্তে একটি খুঁজে পাই। আমরা বাম উপ-গাছে যাই, এবং যতদূর যেতে পারি ডানদিকে যাই। এটি আমাদের মুছে ফেলতে চাইলে নোডের পরবর্তী বৃহত্তম মান দেয়।
বাম এবং ডান পয়েন্টার বাদে আমরা এখন 18 এর সমস্ত বিষয়বস্তু অনুলিপি করি এবং আসল 18 নোডটি মুছি।
এই চিত্রগুলি তৈরি করার জন্য, আমি একটি এভিএল ট্রি বাস্তবায়িত করেছি, একটি স্বয়ং ব্যালেন্সিং ট্রি, যাতে যেকোন সময় গাছের পাতার নোডের মধ্যে কোনও স্তরের পার্থক্য থাকে (কোনও শিশু নেই)। এটি গাছটিকে স্কিউড হওয়ার থেকে বাঁচায় এবং O(log n)
সন্নিবেশ এবং মুছে ফেলার জন্য আরও কিছুটা সময় ব্যয় করে সর্বাধিক অনুসন্ধানের সময়টি বজায় রাখে ।
আমার এভিএল গাছ কীভাবে নিজেকে কমপ্যাক্ট এবং যথাসম্ভব ভারসাম্য বজায় রেখেছে তা দেখানোর জন্য এখানে একটি নমুনা দেওয়া হচ্ছে।
বাছাই করা অ্যারেতে, অনুসন্ধানগুলি এখনও O(log(n))
গাছের মতো লাগবে , তবে এলোমেলো সন্নিবেশ এবং অপসারণ গাছের পরিবর্তে ও (এন) নেবে O(log(n))
। কিছু এসটিএল পাত্রে তাদের কার্যকারিতা বৈশিষ্ট্যগুলি তাদের সুবিধার্থে ব্যবহার করে যাতে সন্নিবেশ এবং অপসারণের সময় সর্বাধিক লাগে O(log n)
যা খুব দ্রুত। এই পাত্রে মধ্যে কয়েকটি হল map
, multimap
, set
, এবং multiset
।
একটি এভিএল গাছের উদাহরণ কোডটি http://ideone.com/MheW8 এ পাওয়া যাবে
প্রধান অ্যাপ্লিকেশন হ'ল বাইনারি অনুসন্ধান গাছ । এগুলি একটি ডেটা কাঠামো যাতে অনুসন্ধান, সন্নিবেশ এবং অপসারণ সবই খুব দ্রুত ( log(n)
অপারেশন সম্পর্কে )
বাইনারি গাছের একটি আকর্ষণীয় উদাহরণ যা উল্লেখ করা হয়নি তা হ'ল পুনরাবৃত্তির সাথে মূল্যায়ন করা গাণিতিক প্রকাশ। এটি বাস্তবিকভাবে ব্যবহারিক দৃষ্টিকোণ থেকে অকেজো, তবে এই জাতীয় অভিব্যক্তিগুলি ভাবার জন্য এটি একটি আকর্ষণীয় উপায়।
মূলত গাছের প্রতিটি নোডের একটি মান থাকে যা হয় নিজেই অন্তর্নিহিত বা এর বাচ্চাদের মূল্যবোধকে পরিচালনা করে পুনরাবৃত্তভাবে মূল্যায়ন করা হয়।
উদাহরণস্বরূপ, অভিব্যক্তিটি (1+3)*2
হিসাবে প্রকাশ করা যেতে পারে:
*
/ \
+ 2
/ \
1 3
অভিব্যক্তিটি মূল্যায়ন করতে, আমরা পিতামাতার মান জিজ্ঞাসা করি। পরিবর্তে এই নোডটি তার বাচ্চাদের কাছ থেকে এর মান পায়, একটি প্লাস অপারেটর এবং একটি নোড যা কেবল '2' থাকে contains প্লাস অপারেটর পরিবর্তে '1' এবং '3' মানযুক্ত বাচ্চাদের কাছ থেকে এর মানগুলি পায় এবং তাদের যোগ করে 4 টি গুণক নোডে ফিরে আসে যা 8 দেয়।
বাইনারি গাছের এই ব্যবহারটি এক অর্থে পোলিশ স্বরলিপি বিপরীত করার অনুরূপ, যাতে ক্রমগুলি ক্রিয়াকলাপ করা হয় তা অভিন্ন। এছাড়াও একটি বিষয় লক্ষণীয় যে এটি অগত্যা একটি বাইনারি গাছ হতে হবে না, এটি সর্বাধিক ব্যবহৃত অপারেটরগুলি বাইনারি হয়। এর সবচেয়ে বেসিক স্তরে, এখানে বাইনারি গাছটি আসলে একটি খুব সাধারণ খাঁটি কার্যকরী প্রোগ্রামিং ভাষা।
আমি মনে করি না "খাঁটি" বাইনারি গাছগুলির জন্য কোনও ব্যবহার আছে। (শিক্ষাগত উদ্দেশ্য ব্যতীত) ভারসাম্যযুক্ত বাইনারি গাছগুলি যেমন রেড-ব্ল্যাক ট্রি বা এভিএল গাছগুলি আরও বেশি কার্যকর কারণ তারা ও (লগইন) পরিচালনার গ্যারান্টি দেয়। সাধারণ বাইনারি গাছগুলি তালিকা (বা প্রায় তালিকা) হয়ে শেষ হতে পারে এবং বেশি ডেটা ব্যবহার করে অ্যাপ্লিকেশনগুলিতে সত্যই কার্যকর হয় না।
ভারসাম্যযুক্ত গাছগুলি প্রায়শই মানচিত্র বা সেট প্রয়োগের জন্য ব্যবহৃত হয়। এগুলি ও (nlogn) বাছাইয়ের জন্যও ব্যবহার করা যেতে পারে, এমনকি এটি করার আরও ভাল উপায় রয়েছে।
এছাড়াও অনুসন্ধান / সন্নিবেশ / মুছে ফেলার জন্য হ্যাশ টেবিলগুলি ব্যবহার করা যেতে পারে, যা সাধারণত বাইনারি অনুসন্ধান গাছের তুলনায় ভাল পারফরম্যান্স থাকে (ভারসাম্যযুক্ত বা না)।
একটি অ্যাপ্লিকেশন যেখানে (ভারসাম্যযুক্ত) বাইনারি অনুসন্ধান গাছগুলি কার্যকর হবে যদি সন্ধান / সন্নিবেশ / মুছে ফেলা এবং বাছাই করা প্রয়োজন হয়। প্রস্তুত তৈরি ভারসাম্যযুক্ত বৃক্ষটি প্রদান করে সাজানোর স্থান (প্রায়শই, পুনরাবৃত্তির জন্য প্রয়োজনীয় স্ট্যাক স্পেস উপেক্ষা করে) হতে পারে। এটি এখনও ও (নলগন) হবে তবে একটি ছোট ধ্রুবক ফ্যাক্টর এবং অতিরিক্ত স্থানের প্রয়োজন নেই (নতুন অ্যারে ব্যতীত, ডেটাটিকে অ্যারেতে রাখতে হবে তা ধরে নিবেন)। অন্যদিকে হ্যাশ টেবিলগুলি বাছাই করা যায় না (কমপক্ষে সরাসরি নয়)।
তারা কিছু করার জন্য কিছু পরিশীলিত অ্যালগরিদমগুলিতেও দরকারী, তবে টিবিএইচ আমার মনে আসে না। আমি যদি আরও খুঁজে পাই তবে আমি আমার পোস্টটি সম্পাদনা করব।
অন্যান্য গাছ যেমন ফে বি + গাছগুলি ডেটাবেজে ব্যাপকভাবে ব্যবহৃত হয়
সর্বাধিক সাধারণ অ্যাপ্লিকেশনগুলির মধ্যে একটি হ'ল সঞ্চিত উপাদানগুলিকে দ্রুত অ্যাক্সেস করতে এবং সন্ধানের জন্য সজ্জিত আকারে দক্ষতার সাথে ডেটা সঞ্চয় করা। উদাহরণস্বরূপ, std::map
বা std::set
সি ++ স্ট্যান্ডার্ড লাইব্রেরিতে।
ডেটা স্ট্রাকচার হিসাবে বাইনারি ট্রি এক্সপ্রেশন পার্সার এবং এক্সপ্রেশন সলভারগুলির বিভিন্ন বাস্তবায়নের জন্য কার্যকর।
এটি ডাটাবেসের কিছু সমস্যা সমাধানের জন্যও ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, ইনডেক্সিং।
সাধারণত, বাইনারি ট্রি নির্দিষ্ট গাছ ভিত্তিক ডেটা কাঠামোর একটি সাধারণ ধারণা এবং বিভিন্ন নির্দিষ্ট ধরণের বাইনারি গাছ বিভিন্ন বৈশিষ্ট্য সহ নির্মিত হতে পারে constructed
সি ++ এসটিএল এবং জাভা এবং সি # এর মতো অন্যান্য ভাষায় অনেকগুলি স্ট্যান্ডার্ড গ্রন্থাগার। বাইনারি অনুসন্ধান গাছ সেট এবং মানচিত্র প্রয়োগ করতে ব্যবহৃত হয়।
বাইনারি গাছগুলির অন্যতম গুরুত্বপূর্ণ প্রয়োগ হ'ল সুষম বাইনারি অনুসন্ধান গাছের মতো:
এই ধরণের গাছগুলির সম্পত্তি রয়েছে যে বাম সাবট্রি এবং ডান সাবট্রির উচ্চতার পার্থক্যটি প্রতিবার কোনও নোড orোকানো বা মোছার সময় আবর্তনের মতো ক্রিয়াকলাপ দ্বারা ছোট বজায় রাখা হয়।
এর কারণে, গাছের সামগ্রিক উচ্চতা লগ এনের ক্রম হিসাবে থাকে এবং অনুসন্ধান, সন্নিবেশ এবং নোডগুলি মোছার মতো ক্রিয়াকলাপ O (লগ এন) সময়ে সঞ্চালিত হয়। সি ++ এর এসটিএলও এই গাছগুলিকে সেট এবং মানচিত্রের আকারে প্রয়োগ করে।
আধুনিক হার্ডওয়্যারে, খারাপ ক্যাশে এবং স্থানের আচরণের কারণে একটি বাইনারি গাছ প্রায় সবসময় সাব-ইটমিমাল থাকে। এটি (আধা) ভারসাম্যপূর্ণ রূপগুলির জন্যও যায়। আপনি যদি এটি খুঁজে পান তবে এটিই যেখানে পারফরম্যান্স গণনা করা হয় না (বা তুলনা ফাংশন দ্বারা প্রভাবিত হয়), বা historicতিহাসিক বা অজ্ঞতার কারণে বেশি সম্ভাবনা রয়েছে।
একটি সংকলক যিনি এএসটির উপস্থাপনের জন্য বাইনারি গাছ ব্যবহার করেন, তিনি পোস্টর্ডার, ইনর্ডার জাতীয় গাছের পার্সিংয়ের জন্য পরিচিত অ্যালগরিদমগুলি ব্যবহার করতে পারেন program প্রোগ্রামারটিকে নিজস্ব অ্যালগোরিদম নিয়ে আসতে হবে না। সোর্স ফাইলের জন্য বাইনারি ট্রি এন-অ্যারি গাছের চেয়ে বেশি হওয়ায় এর বিল্ডিংয়ে আরও সময় লাগে। এই উত্পাদনটি নিন: সেলস্টেমেন্ট: = "যদি" "(" এক্সপ্রেস ")" স্টেমেন্ট "ইএলএসই" স্টেমেন্ট একটি বাইনারি গাছে এর নলগুলির 3 টি স্তর থাকবে তবে এন-অ্যারি গাছের 1 টি স্তর থাকবে (চিডসের)
এজন্য ইউনিক্স ভিত্তিক ওএস-এস ধীর গতিতে রয়েছে।