কোন অ্যালগরিদম / ডেটা স্ট্রাকচারের আমি "স্বীকৃতি" দেব এবং নাম দিয়ে জানি? [বন্ধ]


69

আমি নিজেকে মোটামুটি অভিজ্ঞ প্রোগ্রামার হিসাবে বিবেচনা করতে চাই। আমি এখন 5 বছরেরও বেশি সময় ধরে প্রোগ্রামিং করছি। আমার দুর্বল বিন্দু যদিও পরিভাষা। আমি স্ব-শিক্ষিত, তাই আমি কীভাবে প্রোগ্রামিং করতে জানি, কম্পিউটার বিজ্ঞানের আরও কিছু আনুষ্ঠানিক দিক আমি জানি না। তাহলে, ব্যবহারিক অ্যালগরিদম / ডেটা স্ট্রাকচারগুলি কী কী যা আমি নাম দিয়ে চিনতে পারি এবং জানতে পারি?

দ্রষ্টব্য, আমি অ্যালগোরিদম প্রয়োগের জন্য কোনও বইয়ের সুপারিশ চাইছি না। আমি সেগুলি বাস্তবায়নের বিষয়ে চিন্তা করি না, আমি কেবল তখনই চিনতে সক্ষম হতে চাই যখন কোনও অ্যালগোরিদম / ডেটা কাঠামো কোনও সমস্যার ভাল সমাধান হতে পারে। আমি অ্যালগরিদম / ডেটা স্ট্রাকচারের তালিকার জন্য আরও জিজ্ঞাসা করছি যা আমার "স্বীকৃত" হওয়া উচিত। উদাহরণস্বরূপ, আমি এই জাতীয় সমস্যার সমাধান জানি:

আপনি 0-999 লেবেলযুক্ত লকারগুলির একটি সেট পরিচালনা করেন। লোকেরা আপনার কাছে লকার ভাড়া নিতে আসে এবং তারপরে লকার কীটি ফিরিয়ে দিতে ফিরে আসে। কোন লকার বিনামূল্যে এবং কোনটি ব্যবহৃত হয় তা জেনে আপনি কীভাবে একটি সফটওয়্যার তৈরি করতে পারেন?

সমাধান, একটি সারি বা স্ট্যাক হবে।

আমি যা খুঁজছি তা হ'ল "কোন পরিস্থিতিতে বি-ট্রি ব্যবহার করা উচিত - এখানে কোন অনুসন্ধান আলগোরিদিম ব্যবহার করা উচিত" ইত্যাদি এবং সম্ভবত কীভাবে আরও জটিল (তবে সাধারণভাবে ব্যবহৃত হয়) ডেটা স্ট্রাকচার / অ্যালগোরিদম কাজ।

আমি উইকিপিডিয়ায় ডেটা স্ট্রাকচার এবং অ্যালগরিদমের তালিকা দেখার চেষ্টা করেছি তবে আমি মনে করি এটি কিছুটা ওভারকিল। সুতরাং আমি কীসের জন্য প্রয়োজনীয় জিনিসগুলি স্বীকার করা উচিত তা আরও অনুসন্ধান করছি?


10
"গঠনমূলক নয়" হিসাবে বন্ধ করার জন্য ভোট দেওয়া। যে কোনও উত্তর সম্পূর্ণরূপে বিষয়গত হবে - কোনটি "জানা উচিত" তা নিয়ে কোনও sensক্যমত্য নেই।
ওবেদের

2
লকার সমস্যার কোন অংশের ইনপুট / আউটপুট ক্রম প্রয়োজন? [ইঙ্গিত!]
টেলাস্টিন

5
@ ওড্ডে এখানে একটি তালিকা রয়েছে যা আমি মনে করি যে বেশিরভাগ লোকেরা তাতে সম্মত হবেন যার জন্য ডেটা স্ট্রাকচার এবং অ্যালগরিদমগুলি কোনও দক্ষ দক্ষ প্রোগ্রামারকে জানা উচিত।
ডেভিড কাউডেন

6
@ সংযুক্তি নেই? কম্পিউটার বিজ্ঞানের অ্যালগরিদম এবং ডেটা স্ট্রাকচার বিষয়ে একটি প্রাথমিক পাঠ্যক্রমের সিলেবাস সম্পর্কে কী? বেশ ভাল মানসম্পন্ন এবং পিয়ার পর্যালোচনা । একটি ভাল সূচনা পয়েন্ট।
মার্কজে

3
বিকল্প সমাধান; ধরুন আপনি দিনের মাধ্যমে চার্জ করুন এবং সর্বাধিক চার্জ পাবেন। আপনি যখন লকারটি দিতে দিন এবং এতে জুলিয়ান দিনের নম্বরটি লিখুন তখন কীটিতে একটি কাগজের ট্যাগ সংযুক্ত করুন। কীটি ফিরে আসার পরে, ভাড়াটি নির্ধারণের জন্য ট্যাগটি দেখুন। হারিয়ে যাওয়া বা বিকৃত ট্যাগগুলি সর্বোচ্চ চার্জকে আকর্ষণ করে attract অব্যবহৃত চাবিগুলি একটি ব্যাগে সংরক্ষণ করা হয় (যেহেতু লকার দেওয়ার সময় ফ্রি কীগুলি থেকে কোনও নির্দিষ্ট কী নির্বাচন করার প্রয়োজন নেই)। মোট তথ্য কাঠামোর আকার: শূন্য বিট। অ্যালগরিদমের সমস্ত অংশ হ'ল (1)।
জেমস ইয়ংম্যান

উত্তর:


78

একটি উদ্দেশ্যমূলক প্রতিক্রিয়া:

যদিও এই প্রশ্নের আমার প্রাথমিক প্রতিক্রিয়াটি শীঘ্রই-স্নাতক সিএস ছাত্র হিসাবে আমার অভিজ্ঞতা অভিজ্ঞতা এবং সিএস ক্ষেত্রে আমি কী ধরনের লোকদের সাথে কাজ করতে চেয়েছিলাম সে সম্পর্কে আমার অনুমানিত মতামতের ভিত্তিতে ছিল। আসলে একটি উদ্দেশ্য রয়েছে (এসিএম সিগসিইএসইসি এবং আইইইইই কম্পিউটিং সোসাইটির বিষয়গত মতামতের সাথে সম্মত) উত্তর। প্রতি দশ বছরে এসিএম এবং আইইইই সংস্থাগুলি একটি যৌথ প্রকাশনায় সহযোগিতা করে যা কম্পিউটিং শিল্পের রাজ্যের পেশাদার জ্ঞানের উপর ভিত্তি করে স্নাতক কম্পিউটার বিজ্ঞান পাঠ্যক্রমের জন্য পরামর্শগুলি বিশদ দেয় । আরও তথ্য cs2013.org এ পাওয়া যাবে । কমিটি তাদের পাঠ্যক্রমের সুপারিশ তালিকাভুক্ত একটি চূড়ান্ত প্রতিবেদন প্রকাশ করে ।

এটি বলেছিল, আমি এখনও আমার তালিকাটি বেশ ভাল বলে মনে করি।

নীচে মূল উত্তর।


আমার কী জানা উচিত?

নূন্যতম

আমি মনে করি একজন কম্পিউটার বিশেষজ্ঞে একজন দক্ষ প্রোগ্রামারের কমপক্ষে স্নাতক স্তরের জ্ঞান থাকা উচিত। অবশ্যই, আপনি কম্পিউটার বিজ্ঞানের কেবলমাত্র একটি ছোট উপসেট সহ অনেকগুলি কার্যকরী ক্ষেত্রে কার্যকর হতে পারেন কারণ শিলা শক্তিশালী সম্প্রদায় সিএস বসেছে, এবং বেশিরভাগ পেশাদার পদের সংকীর্ণ ফোকাস। এছাড়াও, অনেকে স্নাতক অধ্যয়নের পরে আরও বিশেষজ্ঞ করবে। তবে, আমি মনে করি না হয় হয় সিএস জ্ঞানের গোপনীয়তা না রাখার অজুহাত।

শিরোনাম প্রশ্নের উত্তর দেওয়ার জন্য, এখানে স্নাতক প্রাপ্তির পরে একজন স্নাতক স্নাতক শিক্ষার্থী (একজন দক্ষ প্রোগ্রামারের ভিত্তি) জানতে হবে:

উপাত্ত কাঠামো

  • মেশিন ডেটা প্রতিনিধিত্ব
    • ওনস, টু'র পরিপূরক এবং সম্পর্কিত গাণিতিক
    • শব্দ, পয়েন্টার, ভাসমান পয়েন্ট
    • বিট অ্যাক্সেস, শিফটিং এবং ম্যানিপুলেশন
  • লিঙ্কযুক্ত তালিকাগুলি
  • হ্যাশ টেবিল (মানচিত্র বা অভিধান)
  • অ্যারেগুলির
  • গাছ
  • স্ট্যাক
  • লাইনগুলি
  • গ্রাফ
  • ডেটাবেস

আলগোরিদিম

  • শ্রেণীবিভাজন:
    • বুদ্বুদ বাছাই (এটি খারাপ কেন তা জানতে)
    • সন্নিবেশ বাছাই করুন
    • বাছাই বাছাই করুন
    • দ্রুত বাছাই করুন
    • রেডিক্স শৈলীর ধরণ, গণনা বাছাই এবং বালতি বাছাই
    • গাদা সাজান
    • বোগো এবং কোয়ান্টাম সাজান (=
  • অনুসন্ধান করা হচ্ছে:
    • লিনিয়ার অনুসন্ধান
    • বাইনারি অনুসন্ধান
    • গভীরতা প্রথম অনুসন্ধান
    • প্রস্থ প্রথম অনুসন্ধান
  • স্ট্রিং ম্যানিপুলেশন
  • পুনরাবৃত্তির
  • ট্রি ট্রভারসাল
  • ট্র্যাভারসাল তালিকা
  • হ্যাশিং ফাংশন
  • একটি হ্যাশ টেবিল, গাছ, তালিকা, স্ট্যাক, সারি, অ্যারে এবং সেট বা সংগ্রহের কংক্রিট বাস্তবায়ন
  • নির্ধারিত অ্যালগরিদমগুলি
  • ফাইল সিস্টেম ট্র্যাভারসাল এবং ম্যানিপুলেশন ( ইনোড বা সমমানের স্তরে)।

নকশা নিদর্শন

  • modularization
  • কারখানা
  • নির্মাতা
  • একক বস্তু
  • এডাপটার
  • প্রসাধক
  • ফ্লাইওয়েট
  • পর্যবেক্ষক
  • iterator
  • রাষ্ট্র [মেশিন]
  • মডেল ভিউ কন্ট্রোলার
  • থ্রেডিং এবং সমান্তরাল প্রোগ্রামিং প্যাটার্নস

paradigms

  • অনুজ্ঞাসূচক
  • অবজেক্ট ওরিয়েন্টেড
  • ক্রিয়ামূলক
  • ঘোষণামূলক
  • স্ট্যাটিক এবং ডায়নামিক প্রোগ্রামিং
  • ডেটা মার্কআপ

জটিলতা তত্ত্ব

  • জটিলতা স্পেস
  • Computability
  • নিয়মিত, প্রসঙ্গমুক্ত এবং ইউনিভার্সাল ট্যুরিং মেশিন সম্পূর্ণ ভাষাগুলি
  • নিয়মিত অভিব্যক্তি
  • গণনা এবং বেসিক সংমিশ্রক

তার পরেও

আপনার প্রশ্নের পরে আপনি যা জিজ্ঞাসা করছেন সেটিতে প্রবেশের জন্য, আপনি যদি উপরের সাথে পরিচিত হন তবে আপনাকে কোনও নির্দিষ্ট দৃশ্যের জন্য উপযুক্ত প্যাটার্ন, অ্যালগরিদম এবং ডেটা কাঠামো সনাক্ত করতে সহজেই সক্ষম হওয়া উচিত। যাইহোক, আপনার চিনতে হবে যে প্রায়শই কোনও সেরা সমাধান নেই। কখনও কখনও আপনাকে দুটি খারাপের কম বাছাই করতে বা এমনকি দুটি সমানভাবে व्यवहार्य সমাধানের মধ্যে কেবল চয়ন করার প্রয়োজন হতে পারে। এই কারণে, আপনার সমবয়সীদের বিরুদ্ধে আপনার পছন্দটি রক্ষা করতে আপনার সাধারণ জ্ঞান প্রয়োজন knowledge

অ্যালগরিদম এবং ডেটা স্ট্রাকচারের জন্য এখানে কিছু টিপস রয়েছে:

  • বাইনারি অনুসন্ধান কেবল (এবং হওয়া উচিত) সাজানো ডেটাতে ব্যবহার করা যেতে পারে।
  • র‌্যাডিক্স স্টাইলের প্রকারগুলি দুর্দান্ত, তবে কেবল যখন আপনার সীমাবদ্ধ শ্রেণির জিনিসগুলি বাছাই করা হয়।
  • হ্যাশ টেবিলের মতো গাছগুলি প্রায় কোনও কিছুর জন্য ভাল। একটি হ্যাশ টেবিলের কার্যকারিতা এক্সট্রাপোলটেড এবং দক্ষতার ব্যয়ে অনেক সমস্যার সমাধান করতে ব্যবহৃত হতে পারে।
  • বেশিরভাগ উচ্চ স্তরের ডেটা স্ট্রাকচারকে ব্যাক করতে অ্যারে ব্যবহার করা যেতে পারে। কখনও কখনও একটি "ডেটা স্ট্রাকচার" কোনও অ্যারেতে অবস্থানগুলি অ্যাক্সেস করার জন্য কিছু চালাক গণিতের চেয়ে বেশি নয়।
  • ভাষার পছন্দটি আপনার চুলকে বাইরে টানতে বা কোনও সমস্যা সমাধানের মধ্যে পার্থক্য হতে পারে।
  • ASCII টেবিল এবং একটি 128 উপাদান অ্যারে একটি অন্তর্নিহিত হ্যাশ টেবিল (=
  • নিয়মিত প্রকাশগুলি অনেক সমস্যার সমাধান করতে পারে তবে এইচটিএমএল বিশ্লেষণ করতে সেগুলি ব্যবহার করা যায় না
  • কখনও কখনও ডেটা কাঠামো অ্যালগরিদমের মতোই গুরুত্বপূর্ণ is

উপরের কিছু মনে হয় কোনও মস্তিষ্কের মত নয়, এবং কিছুটিকে অস্পষ্ট বলে মনে হতে পারে। আপনি যদি আমাকে আরও বিশদে যেতে চান তবে আমি পারি। তবে, আমার আশা যখন আরও দৃ concrete় প্রশ্নের মুখোমুখি হয় যেমন, "একটি স্ট্রিংয়ের প্রতিটি চরিত্রের উপস্থিতিগুলির সংখ্যা গণনা করে এমন একটি ফাংশন ডিজাইন করুন", আপনি ASCII টেবিলটি সম্পর্কে টিপটি এবং 128 এলিমেন্ট অ্যারেগুলি ঝরঝরে সুস্পষ্ট হ্যাশ গঠন করে তাকান you উত্তরের টেবিল

এই ধারণাগুলি ভিত্তিক, আমি আপনার প্রশ্নের বর্ণিত লকার সমস্যার উত্তর প্রস্তাব করব।


আপনার প্রশ্নের মধ্যে উত্থিত সমস্যার উত্তর।

এটি আপনার প্রশ্নের সেরা উত্তর নাও হতে পারে তবে আমি মনে করি এটি এমন একটি আকর্ষণীয় যা খুব জটিল কিছু প্রয়োজন হয় না। এবং এটি অবশ্যই একটি সারি ব্যবহারের সময় জটিলতা বা স্ট্যাকের জন্য লকারটি মুক্ত কিনা তা নির্ধারণের জন্য রৈখিক সময়ের প্রয়োজন হবে।

আপনার 0-999 লকার রয়েছে। এখন, আপনার কাছে একটি নির্দিষ্ট সংখ্যক লকার রয়েছে, তাই আপনি 0-999 রেঞ্জের কোনও সংঘর্ষ না করে সহজেই একটি হ্যাশিং ফাংশন কল্পনা করতে পারেন। এই ফাংশনটি কেবল h (x) = x mod 1000. এখন, [ধারণাগতভাবে] পূর্ণসংখ্যক কীগুলি এবং আপনার মান হিসাবে 1000 এলিমেন্ট চর অ্যারের সামগ্রীগুলি সহ একটি হ্যাশ টেবিল তৈরি করুন। যদি কোনও গ্রাহক ব্যবহারের জন্য loc৮ টি লকার সংরক্ষণ করতে চান, কেবল হ্যাশ ফাংশনটিতে 78 78 টি রাখুন (returning 78 প্রত্যাবর্তন), এবং তারপরে সেই নম্বরটি অ্যারের বেস পয়েন্টারে যুক্ত করুন - অফসেট মান দ্বারা চিহ্নিত স্থানটিতে একটি সত্য মান সংরক্ষণ করুন । একইভাবে, আপনার যদি 78 টি ব্যবহার করা হচ্ছে কিনা তা খতিয়ে দেখতে প্রয়োজন, কেবল সেই জায়গাতে সঞ্চিত মানটি পড়ুন এবং সত্যের বিপরীতে পরীক্ষা করুন।

এই সমাধানটি বাইনারি ট্রি দ্বারা ব্যাকযুক্ত অগ্রাধিকার সারির ক্ষেত্রে লগ (এন) সময়ের সঞ্চয় এবং অনুসন্ধানের বিপরীতে অনুসন্ধান এবং সঞ্চয় করার জন্য স্থির সময়ে কাজ করে। বর্ণনাটি ইচ্ছাকৃত ভার্জোজ যার ফলে আপনি দেখতে পারেন উচ্চতর ধারণাগুলি একটি দক্ষ অ্যালগরিদমে সিদ্ধ হচ্ছে।

এখন, আপনি জিজ্ঞাসা করতে পারেন, যদি আমার কাছে উপলব্ধ লকারগুলির সমস্ত জানা দরকার, তবে অগ্রাধিকারের সারিটি কী ভাল হবে না? অগ্রাধিকারের কাতারে যদি কে উপলব্ধ লকার উপস্থিত থাকে, তাদের সমস্তের উপর পুনরাবৃত্তি করা k পদক্ষেপ গ্রহণ করবে। তদতিরিক্ত, আপনার অগ্রাধিকারের সারি প্রয়োগের উপর নির্ভর করে আপনার সমস্ত অগ্রাধিকারের সারিটি পুনর্নির্মাণ করতে হতে পারে সমস্ত কিছু দেখুন .. যা k * লগ (কে): (কে <1000) পদক্ষেপ গ্রহণ করবে। অ্যারের সমাধানে আপনাকে কেবলমাত্র 1000 টি উপাদান অ্যারের পুনরাবৃত্তি করতে হবে এবং কোনটি খোলা আছে তা পরীক্ষা করতে হবে। আপনি কেবলমাত্র কে সময় পরীক্ষা করতে বাস্তবায়নে একটি উপলভ্য বা ব্যবহৃত তালিকা যুক্ত করতে পারেন।


1
দুর্দান্ত উত্তর! আমি আরও যুক্ত করতে চাই, আপনি যে ভাষাটি ব্যবহার করছেন তার পূর্বনির্ধারিত ফাংশন / ডেটাস্ট্রাকচারগুলি ব্যবহার করার ক্ষেত্রে আপনার সত্যিকারের আত্মবিশ্বাস থাকা উচিত, উদাহরণস্বরূপ সি ++ এ অ্যালগরিদম এবং স্টাইল ডাটা স্ট্রাকচার, বা জাভার জন্য জাভা API।
মার্কতানি

1
অসাধারণ! বিশেষত "নিয়মিত প্রকাশগুলি অনেক সমস্যার সমাধান করতে পারে, তবে সেগুলি এইচটিএমএলকে বিশ্লেষণ করতে ব্যবহৃত হতে পারে না।"
হতাশ

2
উত্তরটি ভাল ছিল, যতক্ষণ না "সমস্যা" উপস্থিত হয়। অগ্রাধিকারের সারি বা হ্যাশ-টেবিল ব্যবহার করার কোনও কারণ নেই। একটি সাধারণ স্ট্যাক যথেষ্ট। আপনি যদি চান তবে ফ্রি লকারগুলির সম্পূর্ণ তালিকা পেতে পুনরাবৃত্তি যুক্ত করুন।
ম্যাথিউ এম।

1
আমাদের কি রিলেশনাল ডাটাবেস + এসকিউএল, বি + ট্রি, নকলকরণ তত্ত্ব, জ্ঞান হার্ডওয়্যার সংস্থা, অপারেশন সিস্টেম তত্ত্বের জ্ঞান, টিসিপি / আইপি নেটওয়ার্কিংয়ের জ্ঞান যুক্ত করা উচিত?
dan_l

1
আমি ডিজাইন প্যাটার্নস সম্পর্কে সন্দেহবাদী। অপ্রয়োজনীয় এবং / বা অন্যগুলিতে অপ্রয়োজনীয় থাকাকালীন অনেকগুলি কিছু ধরণের ভাষায় কার্যকর। আপনি অ্যালগোরিদমের অধীনে হিউরিস্টিক্স এবং ট্রাই এবং স্কিপ-তালিকা ডেটা স্ট্রাকচার যুক্ত করতেও পারেন might Ditionতিহ্যবাহী অ্যালগরিদম / ডেটা স্ট্রাকচারগুলি সিঙ্ক্রোনাস অ্যাক্সেসের সীমাতে পৌঁছে যায় তবে একাধিক থ্রেড এবং সম্মতি ব্যবহার করে অন্যান্য অ-traditionalতিহ্যগত পদ্ধতির দ্বারা মারতে পারে। হিউরিস্টিক্স প্রয়োজনীয়ভাবে অনুসন্ধানের সংখ্যা হ্রাস করতে পারে যখন কোনও স্কিপ-লিস্টের মতো কাঠামো কোনও বৈশ্বিক লক ছাড়াই ডেটা স্ট্রাকচারকে লেখার অনুমতি দেয়।
ইভান প্লেস

6

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


3
দুর্দান্ত বই, তবে মনে করবেন না যে আপনাকে সত্যই একজন প্রোগ্রামার হওয়ার জন্য এটির সমস্ত কিছু আয়ত্ত করতে হবে। আমি এটা সম্প্রতি কেনা, এবং আমি 1979 সাল থেকে প্রোগ্রাম প্রদান করা করে থাকেন (এবং হ্যাঁ, আমি এটা বিশ্বাস আমি তা থেকে কিছু শিখতে পারে কেনা।)
কেট গ্রেগরি

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

4

কোন "উচিত" আছে। উ: মৌলিক জটিলতা ক্লাসগুলির সাথে পরিচিত হন (লিনিয়ার, লোগারিদমিক ইত্যাদি) খ। উপলব্ধি করুন যে আপনি একটি বি-গাছের মতো অভিনব ডেটার কাঠামোর সাথে সাধারণ অ্যারে দিয়ে যা কিছু করতে পারেন। উপযুক্ত কাঠামো / অ্যালগরিদম বাছাইয়ের কৌশলটি ভারসাম্যপূর্ণ কার্যকারিতা, প্রত্যাশিত ইনপুট আকার এবং বাস্তবায়ন জটিলতায় অন্তর্ভুক্ত।

তারপরে বিমূর্ত কিন্তু প্রচুর উপকারী জিনিস রয়েছে (যদিও উপযোগিতা তাত্ক্ষণিকভাবে স্পষ্ট নয়): রাষ্ট্রীয় মেশিন, গ্রাফ তত্ত্ব, উত্তল তত্ত্ব (লিনিয়ার প্রোগ্রামিং ইত্যাদি)।


1
কখন কী ব্যবহার করবেন তা জানার বিষয়ে গুরুত্বকে অবমূল্যায়ন করবেন না। কারণ সাধারণ অ্যারে ব্যবহার করে আপনি যে সমস্যাগুলি সমাধান করেছেন সেগুলি ফিরে আসবে এবং আপনাকে যখন কামড় দেবে ঠিক তখনই আপনি যখন সেই বড় ক্লায়েন্টটিকে রিল করতে চলেছেন এবং আপনার অ্যাপ্লিকেশনটি যা বছরের পর বছর ধরে কাজ করে যাচ্ছিল কেবল ক্রলের দিকে ধীর হয়ে যায় কারণ আপনি একটি বুদ্বুদ্বীর পরিবর্তে বুদবুর্গ ব্যবহার করেছেন because একটি quicksort।
পিটার বি

3

এমআইটি অ্যালগরিদমের পরিচিতির জন্য বিনামূল্যে বক্তৃতা নোট, ভিডিও, অ্যাসাইনমেন্ট এবং পরীক্ষার উপাদান প্রকাশ করে । বক্তৃতা শিরোনাম তালিকা আলগোরিদিম / ডাটা আবৃত কাঠামো।

এটি আপনার যা জানা উচিত সে সম্পর্কে পিয়ার-পর্যালোচিত sensক্যমত্য। এটি সম্ভবত একটি দুর্দান্ত শিক্ষার উত্সও।

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