একটি লাল-কালো গাছ কল্পনা করুন। সর্বদা কি সন্নিবেশ এবং মুছার ক্রম রয়েছে যা এটি তৈরি করে?


41

আসুন একটি লাল-কালো গাছের নিম্নলিখিত সংজ্ঞাটি ধরে নিই:

  1. এটি একটি বাইনারি অনুসন্ধান গাছ।
  2. প্রতিটি নোড লাল বা কালো রঙিন হয়। মূলটি কালো is
  3. একটি প্রান্ত দ্বারা সংযুক্ত দুটি নোড একই সময়ে লাল হতে পারে না।
  4. এখানে উইকির মতো একটি এনআইএল পাতার একটি ভাল সংজ্ঞা দেওয়া উচিত নীল পাতা বর্ণের বর্ণের হয়।
  5. মূল থেকে যে কোনও এনআইএল পাতার দিকে যাওয়ার পথে একই সংখ্যক কালো নোড থাকে।


প্রশ্ন

মনে করুন আপনি লাল-কালো গাছের জন্য insertএবং deleteঅপারেশনগুলি কার্যকর করেছেন । এখন, যদি আপনাকে একটি বৈধ লাল-কালো গাছ দেওয়া হয়, তবে সর্বদা কি এটির ক্রিয়াকলাপ insertএবং deleteক্রিয়াকলাপ রয়েছে?


প্রেরণা

এই প্রশ্নটি এই প্রশ্নটি দ্বারা এবং এই প্রশ্ন থেকে আলোচনার দ্বারা অনুপ্রাণিত হয় ।

ব্যক্তিগতভাবে, আমি বিশ্বাস করি যে আপনি যদি কেবল কালো নোডের সমন্বয়ে একটি বৈধ লাল-কালো গাছ কল্পনা করেন (যা বোঝায় যে আপনি নিখুঁত সুষম গাছের কল্পনা করছেন), এর ক্রম insertএবং deleteক্রিয়াকলাপ রয়েছে যা এটি তৈরি করে। যাহোক,

  1. আমি কীভাবে সঠিকভাবে এটি প্রমাণ করতে জানি না
  2. আমি আরও সাধারণ ক্ষেত্রে আগ্রহী

আপনার প্রশ্নটি কিছুটা বিজ্ঞপ্তিযুক্ত মনে হচ্ছে ... sertোকানো এবং মুছতে অপারেশনগুলির কোনও সেট একটি লাল-কালো গাছ তৈরি করবে ... আক্ষরিক অর্থে যে কোনও কিছুই, কারণ লাল-কালো কেবল একটি সংজ্ঞা। আপনার প্রশ্ন কি খাঁটি কালো গাছের মধ্যে সীমাবদ্ধ?
জোকস

2
না, আমি মনে করি আপনি ভুল ব্যাখ্যা করেছেন। অবশ্যই, সন্নিবেশ এবং মুছার কোনও সেট কিছু লাল-কালো গাছ তৈরি করে। প্রশ্নটি হ'ল: এমন কোনও গাছ যা সংযোজন এবং মুছে ফেলার কিছু ক্রম দ্বারা সংজ্ঞাটি গঠনযোগ্য? যদি আপনাকে কিছু গাছ দেওয়া হয় তবে আপনি কি সন্নিবেশ এবং মুছার ক্রম পুনরায় তৈরি করতে পারেন?
এলিসিয়ানয়

2
@ all3fox হ্যাঁ, আপনি ঠিক বলেছেন। একটি অ্যালগরিদম রয়েছে যা অপারেশন ব্যবহার করে insertএবং কেবল কালো নোড সমন্বিতdelete একটি বৈধ লাল-কালো গাছ তৈরি করতে ব্যবহার করে । এটি ব্যবহার করে সন্নিবেশ / মুছে দেওয়া উচ্চতার একটি গাছ তৈরি করতে । প্রথমত, আমরা 2 h + 1 - 1 সন্নিবেশগুলি ব্যবহার করে প্রারম্ভিক পদ্ধতিতে একটি পুরোপুরি সুষম লাল-কালো গাছ তৈরি করতে পারি , তারপরে h 2 h - 1 ব্যবহার করে(+ +2)2-12+ +1-1*2-1সন্নিবেশ এবং সমান পরিমাণ মুছে ফেলা এটিকে পুরোপুরি কালো গাছে পুনরায় রঙ করে। কৌতুক এখানে চলে যাওয়া গাছ আপ সর্বনিম্ন লাল স্তর বার পর্যন্ত এটি রুট ছুঁয়েছে।
আন্তোন ট্রুনভ

1
@ অ্যান্টন ট্রুনভ আপনাকে ধন্যবাদ, আমি একরকম বুঝতে পেরেছি। যদিও একটি সাধারণ লাল-কালো গাছের ক্ষেত্রে? আপনি কী মনে করেন, প্রদত্ত কোনও রেড-ব্ল্যাক ট্রি insertএবং deleteঅপারেশনগুলি তৈরি করা সম্ভব?
এলিসিয়ানোই

2
ক) উত্তরটির সঠিক প্রয়োগের উপর নির্ভর করবে insertএবং delete; এই অপারেশনগুলি করার বিভিন্ন উপায় থাকতে পারে। খ) যেহেতু আরবি গাছগুলি মূলত অর্ডার 4-বি গাছ হয় তাই অনুপ্রেরণার জন্য কেউ সেখানে দেখতে পারেন। আরবি থেকে বি (এবং / অথবা পিছনের দিকে) ম্যাপিংটি অনন্য নয় বলে বিশদগুলি জটিল প্রমাণ করতে পারে।
রাফেল

উত্তর:


2

একটি লাল-কালো গাছে সন্নিবেশ করান এবং মুছুন অপারেশনগুলির মধ্যে লাল-কালো বৈশিষ্ট্যগুলি বজায় রাখতে প্রয়োজনীয় ভারসাম্য অন্তর্ভুক্ত

লোহিত কালো গাছগুলিকে অবিহীন (বাম বা ডান-) ঝুঁকির সমস্যাটি হ'ল বেসিক মুছা বা সন্নিবেশ করার পরে লাল-কালোভাব পুনরুদ্ধার করার একাধিক উপায় রয়েছে।
এটি theোকানো বা মোছা নয় যা গাছটিকে রূপান্তরিত করে, তবে গাছটির লাল কালোভাব সংরক্ষণ / পুনরুদ্ধার করার জন্য পুনরায় ভারসাম্য এবং ঘূর্ণন ঘটে।

লাল-কালো গাছের মূল বিবরণটি সম্ভাব্য রুটগুলি কোনটি গ্রহণ করবে তা নির্ধারণ করে না।
এটা চিন্তা করার কিভাবে সম্ভব নাও হতে পারে ঠিক একটি প্রদত্ত লাল, কালো গাছ পুনর্গঠন, কারণ rebalancing নির্ণায়ক প্রয়োজন হবে না।

বাম দিকে ঝুঁকানো লাল কালো গাছগুলির সাথে এটি 'সমাধান' হয়েছে।
ভারসাম্য সম্পন্ন করার একমাত্র উপায়। সুতরাং যে কোনও ঝোঁকযুক্ত লাল কালো গাছকে সন্নিবেশ এবং মুছে ফেলা ব্যবহার করে পুনর্গঠন করা যেতে পারে, কারণ পুনরায় সঞ্চার / ঘূর্ণনগুলি একটি নির্দিষ্ট নিয়ামক পদ্ধতিতে করা হয়।

এর অর্থ এই নয় যে বাম দিকে ঝুঁকানো আরবি গাছগুলি আরও ভাল বা আরও দক্ষ, তারা একদিকে যেমন নির্বিচারে ভারসাম্য রক্ষা করার নিয়ম ব্যবহার করে অর্জন করে, অন্যদিকে আরও জটিল ব্যালেন্সিং কোডের মাধ্যমে তারা হেরে যায়।


(+ +2)2-12+ +1-1*2-1 গাছের নীচে সবচেয়ে নিম্নতম লাল স্তরটি এটিতে শিকড় না পৌঁছানো পর্যন্ত times

আমি মনে করি ডে-স্টাউট-ওয়ারেনের মতো একটি সম্পূর্ণ ব্যালেন্সিং অ্যালগরিদম যদিও আরও দক্ষ হবে।


1
অপারেশনগুলি ব্যবহার করে insertএবং deleteসিএলআরএস বই থেকে আপনি কেবল কালো নোড সমন্বিত একটি বৈধ আরবি ট্রি তৈরি করতে পারেন । কৌশলটি হ'ল প্রয়োজনের চেয়ে আরও বেশি নোড sertোকানো এবং তারপরে অতিরিক্তগুলি মুছুন। অ্যালগরিদম লাল নোডগুলি দূর করবে
আন্তোন ট্রুনভ

@ অ্যান্টন ট্রুনভ, আপনার কি সেই অ্যালগরিদমের জন্য একটি লিঙ্ক আছে, উত্তরে এটি অন্তর্ভুক্ত করা ভাল হবে। আমি আমার গুগল-ফু ব্যবহার করে এটি খুঁজে পাচ্ছি না।
জোহান

1
দুর্ভাগ্যক্রমে আমার একটি লিঙ্ক নেই। আমি সেই সময়ে প্রশ্নের উত্তর দেওয়ার চেষ্টা করেছি, এবং সমস্ত কালো আরবি গাছের বিশেষ ক্ষেত্রে একটি অ্যালগরিদম নিয়ে এসেছি। আমি এই মন্তব্যে বাছাই করেছিলাম, কিন্তু একটি প্রমাণ সরবরাহ করি নি।
আন্তন ট্রুনভ

"আপনার বাম দিকে ঝুঁকানো লাল কালো গাছগুলির সাথে এটি 'সমাধান হয়েছে' বলতে কী বোঝায়। এমনকি একটি বাম দিকে ঝুঁকানো লাল কালো গাছের একই আইটেমগুলি সংরক্ষণের একাধিক উপায় রয়েছে।
ব্যবহারকারী 239558
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.