লিঙ্কযুক্ত তালিকার মাঝখানে কেন সন্নিবেশ করা হচ্ছে ও (1)?


105

লিঙ্কযুক্ত তালিকার উইকিপিডিয়া নিবন্ধ অনুসারে , লিঙ্কযুক্ত তালিকার মাঝখানে সন্নিবেশ করাকে ও (1) হিসাবে বিবেচনা করা হয়। আমি মনে করি এটি ও (এন) হবে। তালিকার শেষের কাছাকাছি হতে পারে এমন নোডটি সনাক্ত করার দরকার নেই?

এই বিশ্লেষণটি নোড অপারেশন (যদিও এটি প্রয়োজনীয়) এবং কেবল সন্নিবেশ সন্ধানের জন্য অ্যাকাউন্ট করে না?

সম্পাদনা :

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

উপরের বক্তব্যটি আমার কাছে কিছুটা বিভ্রান্তিকর। আমি ভুল হলে আমাকে সংশোধন করুন, তবে আমি মনে করি উপসংহারটি হওয়া উচিত:

অ্যারেগুলির:

  • সন্নিবেশ / মোছার বিন্দু সন্ধান করছে ও (1)
  • সন্নিবেশ / মুছে ফেলা হে (এন) সম্পাদন

সংযুক্ত তালিকা:

  • সন্নিবেশ / মোছার বিন্দু সন্ধান করছে ও (এন)
  • সন্নিবেশ / মুছুন হে (1) সম্পাদন করা হচ্ছে

আমি মনে করি আপনি কেবলমাত্র অবস্থানটি আবিষ্কার করতে পারবেন না যদি আপনি এটির দিকে কিছুটা পয়েন্টার রেখে থাকেন (যেমন কিছু ক্ষেত্রে মাথা এবং লেজের সাথে থাকে)। সুতরাং আমরা স্পষ্টভাবে বলতে পারি না যে লিঙ্কযুক্ত তালিকাগুলি sertোকান / মুছুন বিকল্পের জন্য অ্যারেগুলিকে সর্বদা বীট করে।

উত্তর:


113

আপনি সঠিক, নিবন্ধটি "ইনডেক্সিং" কে আলাদা অপারেশন হিসাবে বিবেচনা করে। সুতরাং সন্নিবেশটি নিজেই ও (1), তবে সেই মাঝের নোডে পৌঁছে যাওয়া ও (এন)।


3
একই পজিশনে 1 টিরও বেশি অবজেক্ট সন্নিবেশ করার সময় এটি একটি বৃহত্তর পার্থক্য করে ...
কিট - অ্যানি-মৌসেস

@ অ্যানি-মাউসে আপনি কি আরও কিছুটা ব্যাখ্যা করতে পারেন? অর্থাত্ যখন বেশ কয়েকটি বস্তু সন্নিবেশ করানো হয় তখন একবার আমাদের সন্নিবেশের অবস্থানটি সন্ধান করতে হবে?
MyTitle

2
এটি বিদ্যমান তালিকার আকারে ও (এন), সেখানে আপনি কী পরিমাণ সন্নিবেশ করানোর পরিকল্পনা করছেন তা নয়।
কিট আছে - অ্যানি-মৌসে

27

সন্নিবেশটি নিজেই ও (1)। নোড ফাইন্ডিং হল ও (এন)।


25

না, আপনি যখন সন্নিবেশ করতে চান তা সিদ্ধান্ত নেওয়ার পরে, ধরে নেওয়া যায় আপনি ইতিমধ্যে তালিকার মধ্য দিয়ে পুনরাবৃত্তি করতে পারেন।

লিঙ্কযুক্ত তালিকাগুলিতে অপারেশনগুলি প্রায়শই এমনভাবে করা হয় যে এগুলি আসলে জেনেরিক "তালিকা" হিসাবে বিবেচনা করা হয় না, তবে নোডের সংগ্রহ হিসাবে - নোডকে নিজেই আপনার মূল লুপের জন্য পুনরাবৃত্তি হিসাবে ভাবেন। সুতরাং আপনি তালিকার মধ্য দিয়ে যখন আপনার ব্যবসায়িক যুক্তির অংশ হিসাবে লক্ষ্য করছেন যে একটি নতুন নোড যুক্ত করা দরকার (বা কোনও পুরানো মুছে ফেলা হয়েছে) এবং আপনি তা করেন। আপনি একক পুনরাবৃত্তিতে 50 টি নোড যুক্ত করতে পারেন এবং এই নোডগুলির প্রত্যেকেরই দুটি সংলগ্ন নোডকে লিঙ্ক লিঙ্ক করার জন্য এবং আপনার নতুন একটি সন্নিবেশ করার সময়টি কেবলমাত্র O (1) ..

সম্পাদনা: ম্যান, আপনি দ্বিতীয় অনুচ্ছেদটি টাইপ করুন এবং হঠাৎ প্রথম প্রতিক্রিয়াকারী হওয়ার পরিবর্তে আপনি 5 তম হিসাবে প্রথম 4 হিসাবে একই কথা বলছেন!


1
হ্যাঁ হ্যাঁ যে চুষে ... আমি আপনার পছন্দ করলাম কারণ এর লিখিত তালিকার সন্নিবেশ জটিলতা ইতিমধ্যে পছন্দসই পয়েন্টারে থাকার প্রসঙ্গে বিবেচিত।
ড্যানিয়েল ম্যাকিয়াস

6

একটি অ্যারের সাথে তুলনা করার উদ্দেশ্যে, যা সেই চার্টটি দেখায়, এটি ও (1) কারণ আপনাকে নতুন নোডের পরে সমস্ত আইটেম সরিয়ে নিতে হবে না।

সুতরাং হ্যাঁ, তারা ধরে নিচ্ছে যে আপনার কাছে ইতিমধ্যে সেই নোডের পয়েন্টার রয়েছে, বা পয়েন্টারটি পাওয়া ক্ষুদ্র। অন্য কথায়, সমস্যাটি বর্ণিত হয়েছে: " এক্স এ নোড দেওয়া হয়েছে , এই নোডের পরে sertোকানোর কোডটি কী?" আপনি সন্নিবেশ বিন্দুতে শুরু করতে পারেন।


5

একটি লিঙ্কযুক্ত তালিকার সন্নিবেশ এটির পুনরাবৃত্তির চেয়ে আলাদা। আপনি আইটেমটি সনাক্ত করছেন না, আপনি আইটেমটি সেখানে রাখার জন্য পয়েন্টারগুলি পুনরায় সেট করছেন। এটি সামনের প্রান্তের কাছাকাছি বা শেষের কাছাকাছি matterোকানো যাচ্ছে কিনা তা বিবেচ্য নয়, সন্নিবেশটিতে পয়েন্টারগুলি পুনরায় নিযুক্ত করা জড়িত। এটি অবশ্যই কার্যকর করা হয়েছিল তার উপর নির্ভর করবে, তবে এটি তালিকার শক্তি you আপনি সহজেই সন্নিবেশ করতে পারেন। সূচকের মাধ্যমে অ্যাক্সেস হ'ল যেখানে একটি অ্যারে আলোকিত হয়। একটি তালিকার জন্য, তবে, এনথ আইটেমটি সন্ধান করা সাধারণত ও (এন) হবে be কমপক্ষে স্কুল থেকে আমার মনে আছে এটি।


3

কারণ এতে কোনও লুপিং জড়িত নয়।

Serোকানো যেমন:

  • উপাদান প্রবেশ করান
  • পূর্ববর্তী লিঙ্ক
  • পরের লিঙ্ক
  • সম্পন্ন

এটি কোনও ক্ষেত্রেই স্থির সময়।

ফলস্বরূপ, একের পর এক n উপাদান সন্নিবেশ করা হ'ল ও (এন)।


3

এই বিশ্লেষণটি নোড অপারেশন (যদিও এটি প্রয়োজনীয়) এবং কেবল সন্নিবেশ সন্ধানের জন্য অ্যাকাউন্ট করে না?

তুমি বুঝতে পেরেছ. একটি নির্দিষ্ট বিন্দুতে সন্নিবেশ অনুমান করে যে আপনি যে আইটেমটি পরে সন্নিবেশ করতে চান তাতে আপনি ইতিমধ্যে একটি পয়েন্টার ধরে রেখেছেন:

InsertItem(item * newItem, item * afterItem)


2

না, এটি অনুসন্ধানের জন্য অ্যাকাউন্ট করে না। তবে আপনি যদি ইতিমধ্যে তালিকার মাঝখানে কোনও আইটেমের পয়েন্টার ধরে থাকেন তবে সেই বিন্দুতে সন্নিবেশ করানো হল ও (1)।

আপনার যদি এটি অনুসন্ধান করতে হয় তবে আপনাকে অনুসন্ধানের সময় যুক্ত করতে হবে যা ও (এন) হওয়া উচিত।


0

নিবন্ধটি তালিকার সাথে অ্যারের তুলনা সম্পর্কে। উভয় অ্যারে এবং তালিকার জন্য সন্নিবেশের অবস্থানটি অনুসন্ধান করা ও (এন), সুতরাং নিবন্ধ এটিকে উপেক্ষা করে।


1
অ্যারের সন্নিবেশ বিন্দুটি ও (1) হবে না? যেহেতু অ্যারেগুলি স্বচ্ছ মেমরিতে সঞ্চিত থাকে, তাই এটিতে অফসেটটি যুক্ত করতে হবে।
রব সোবার্স

@ vg1890 - আপনাকে প্রথমে অফসেটটি সন্ধান করতে হবে।

0

ও (1) এই সত্যটির উপর নির্ভর করে যে আপনার কাছে একটি আইটেম রয়েছে যেখানে আপনি নতুন আইটেমটি সন্নিবেশ করবেন। (আগে অথবা পরে). যদি আপনি এটি না করেন তবে এটি ও (এন) কারণ আপনাকে অবশ্যই সেই আইটেমটি খুঁজে পেতে হবে।


0

আমি মনে করি এটি ও () স্বরলিপি হিসাবে আপনি কী গণনা করতে বেছে নেন তার কেবলমাত্র একটি ঘটনা case গণনাতে স্বাভাবিক অপারেশন সন্নিবেশ করার ক্ষেত্রে কপি অপারেশন। একটি অ্যারের সাথে, মাঝখানে সন্নিবেশ করানোতে স্মৃতিতে অবস্থানের উপরে সমস্ত কিছু অনুলিপি করা জড়িত। একটি লিঙ্কযুক্ত তালিকার সাথে, এটি দুটি পয়েন্টার সেট করে। কী সন্নিবেশ করানো উচিত তা আপনার অবস্থান অনুসন্ধান করতে হবে।


0

সংযুক্ত তালিকার জন্য অপারেশন করার পরে Oোকানোর জন্য নোডের রেফারেন্স থাকলে you
একটি অ্যারের জন্য এটি এখনও ও (এন) হয় যেহেতু আপনাকে সমস্ত ফলস্বরূপ নোডগুলি সরিয়ে নিতে হবে।


0

সর্বাধিক সাধারণ কেসগুলি সম্ভবত শুরুতে বা তালিকার শেষে সন্নিবেশ করা হয় (এবং তালিকার শেষগুলি সন্ধানে সময় নিতে পারে না)।

শুরুতে বা অ্যারের শেষে আইটেমগুলি সন্নিবেশ করাতে (যার শেষে থাকলে অ্যারেটির আকার পরিবর্তন করা প্রয়োজন, বা এটি শুরুতে থাকলে সমস্ত উপাদানকে পুনরায় আকার দিন এবং সরানো প্রয়োজন) এর সাথে বৈসাদৃশ্য করুন।


অ্যারের শেষে আইটেমগুলি সন্নিবেশ করা O (1) হওয়া সম্ভব যদি আপনি শেষে খালি উপাদানগুলির একটি বাফার রাখেন, যদিও মাঝে মাঝে সন্নিবেশকগুলি এখনও ও (1) হবে। বেশিরভাগ সংগ্রহ এটি করে। অ্যারের শুরুতে আইটেমগুলি যুক্ত করার চেষ্টা করা যায় আপনার ইন্ডেক্স অপারেটরটিকে উপাদান নম্বর (এন + এক্স)% লেন ফিরে আসার জন্য ও (1) হতে হবে, যেখানে আপনি শুরুতে আইটেমগুলি সন্নিবেশ করানোর সংখ্যাটি x তালিকার। ডেকস কখনও কখনও এর মতো প্রয়োগ করা হয় (তবে কখনও কখনও দ্বিগুণ সংযুক্ত তালিকার সাথেও প্রয়োগ করা হয়
ব্রায়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.