DAVID Malan: ঠিক আছে. আমরা ফিরে এসেছি. প্রোগ্রামিং এর উপর এই সেগমেন্টের মধ্যে তাই কি আমি মনে করি আমরা করতে চাই কিছু সংমিশ্রণ. এক, একটি সামান্য বিট না কিছু হাতে অন, আরো একটি কৌতুকপূর্ণ ব্যবহার যদ্যপি প্রোগ্রামিং পরিবেশে এক যে নির্দেশাত্মক ঠিক ধারণা ধরণের আমরা, সম্পর্কে কথা বলা হয়েছে কিন্তু একটু বেশি আনুষ্ঠানিকভাবে. দুই, কিছু তাকান আরও প্রযুক্তিগত উপায়ে যে একজন প্রোগ্রামার আসলে সমাধান হবে অনুসন্ধানের সমস্যা মত সমস্যা যে আমরা আগে দিকে তাকিয়ে আরও মৌলিকভাবে শ্রেণীবিভাজন আকর্ষণীয় সমস্যা. আমরা শুধু থেকে যেতে পেতে ধারণ যে ফোন বই অনুসারে সাজানো ছিল, কিন্তু যে একা আসলে ধরনের একটি বিভিন্ন উপায়ে সঙ্গে কঠিন সমস্যা এটা সমাধান করতে. তাই আমরা যেমন এই ব্যবহার করব সমস্যার একটি বর্গ জিনিস প্রতিনিধি সাধারণভাবে সমাধান করা যেতে পারে. এবং তারপর আমরা আলোচনা করব কিছু বিস্তারিতভাবে সম্পর্কে কি তথ্য বলা হয় structures-- লিঙ্ক তালিকা মত কল্পনাকারী উপায়ে এবং হ্যাশ টেবিল ও বৃক্ষ একজন প্রোগ্রামার আসলে would ব্যবহার এবং সাধারণত ব্যবহার একটি হোয়াইটবোর্ড উপর অঙ্কন করা একটি ছবি কি সে বাস্তবায়নের জন্য স্বপ্ন সফটওয়্যার এর কিছু টুকরা. সুতরাং এর প্রথম অংশ উপর হাত-না দেওয়া. তাই শুধু আপনার হাত একটি সঙ্গে মলিন পেতে পরিবেশ scratch.mit.edu বলা. এই একটি টুল যা আমরা ব্যবহার করি আমাদের স্নাতক ক্লাসে. যদিও এটা পরিকল্পিত বয়সের 12 এবং আপ জন্য, আমরা আপ জন্য এটি ব্যবহার যে বেশ কিছুটা অংশ যেহেতু এটা একটা চমৎকার, মজা লার্নিং গ্রাফিকাল উপায় প্রোগ্রামিং সম্পর্কে সামান্য কিছু. সুতরাং, যে URL আগাইয়া যেখানে আপনি বেশ ভালো একটি পৃষ্ঠা দেখতে না পায়, এবং এগিয়ে যান এবং ক্লিক করুন উপরের দিকের ডান প্রান্তের স্ক্র্যাচ যোগদান এবং একটি ব্যবহারকারীর নাম এবং একটি চয়ন পাসওয়ার্ড এবং পরিণামে নিজেকে পেতে একটি account-- scratch.mit.edu. আমি ভেবেছিলাম আমি একটি হিসাবে এই ব্যবহার করতে চাই সুযোগ প্রথম এই দেখানোর জন্য. একটি প্রশ্ন বিরতির সময় উঠে এসেছে কি সম্পর্কে কোড আসলে মত দেখায়. আর আমরা কথা বলা হয়েছে সি সম্পর্কে বিরতির সময়, মধ্যে এ বিশেষ বিশেষ করে একটি একটি পুরোনো ভাষায় নিম্ন স্তরের. আর আমি শুধু একটি দ্রুত করেনি গুগল সি কোড খুঁজে পেতে অনুসন্ধান বাইনারি অনুসন্ধান, অ্যালগরিদম জন্য যে আমরা আগে যে ফোন বই অনুসন্ধান করার জন্য ব্যবহার করা. এই বিশেষ উদাহরণ, অবশ্যই, একটা ফোনবুক অনুসন্ধান নেই. এটা শুধু একটি আভা অনুসন্ধান করে কম্পিউটারের মেমরিতে সংখ্যা. কিন্তু আপনি শুধু একটি চাক্ষুষ পেতে চাই কি একটি প্রকৃত প্রোগ্রামিং জ্ঞান ভাষা দেখে মনে হচ্ছে, এটা দেখে মনে হচ্ছে একটি ভালো সামান্য কিছু. সুতরাং এটা প্রায় 20-প্লাস, কোডের 30 বা তাই লাইন, কিন্তু কথোপকথন আমরা বিরতি উপর থাকার হয়েছে সম্পর্কে কিভাবে এই আসলে ছিল zeros এবং বেশী মধ্যে morphed পরার এবং আপনি শুধু যে প্রত্যাবর্তন করতে পারবেন না প্রক্রিয়া এবং zeros এবং বেশী থেকে যেতে কোডে ব্যাক. দুর্ভাগ্যবশত, প্রক্রিয়া তাই রূপান্তরে ভূমিকা রাখা হয় এটি একটি অনেক সহজ কাজ আর বলেন. আমি এগিয়ে যান এবং আসলে পরিণত যে প্রোগ্রাম, বাইনারি অনুসন্ধান, zeros এবং একটি প্রণালী দ্বারা বেশী মধ্যে প্রোগ্রাম কম্পাইলার বলা যে আমি আমার ম্যাক অধিকার এখানে আছে এরকম. আর যদি আপনি পর্দা তাকান এখানে বিশেষভাবে মনোযোগ নিবদ্ধ এই মধ্যম ছয় কলাম উপর শুধুমাত্র আপনি শুধুমাত্র zeros এবং বেশী দেখতে পাবেন. আর যারা zeros এবং বেশী হয় যে ঠিক যে অনুসন্ধানের প্রোগ্রাম রচনা. তাই পাঁচটি প্রতিটি বিট খণ্ড, zeros এবং বেশী প্রতিটি বাইট এখানে, কিছু নির্দেশ প্রতিনিধিত্বকারী সাধারণত একটি কম্পিউটার এর ভিতর. এবং সত্য, আপনি শোনা করেছি যদি মার্কেটিং স্লোগান "ইন্টেল ভিতরে" - যে, অবশ্যই, মানে আপনি একটি আছে ইন্টেল CPU- র বা কম্পিউটার ভিতরে মস্তিষ্ক. এবং কি এটা হতে পারে একটি CPU- র মানে হল আপনি একটি নির্দেশ সেট আছে, তাই কথা বলতে. পৃথিবীর প্রতিটি CPU- র, অনেক তাদের এই দিন ইন্টেল দ্বারা তৈরি, একটি সসীম বুঝতে নির্দেশাবলীর সংখ্যা. আর যাদের সাথে নির্দেশাবলী এত কম স্তর আছে যেমন একসঙ্গে এই দুটি সংখ্যার যোগ, এই দুটি সংখ্যার একসঙ্গে সংখ্যাবৃদ্ধি, এখান থেকে তথ্য এই টুকরা সরাতে এখানে মেমরি থেকে, এই সংরক্ষণ এখান থেকে তথ্য স্মৃতিতে এখানে, এবং তাই ঘোষণা তাই খুব, খুব নিম্নস্তরের, প্রায় ইলেকট্রনিক বিবরণ. কিন্তু সেই গাণিতিক সঙ্গে অপারেশন মিলিত কি আমরা আগেই আলোচনা করা সঙ্গে, তথ্য উপস্থাপনা zeros এবং বেশী, যেমন পারেন আপনি সবকিছু বিল্ড আপ একটি কম্পিউটার আজ কি করতে পারেন যে, কিনা এটা পাঠগত, গ্রাফিকাল, বাদ্যযন্ত্র আছে, অথবা অন্যটি. তাই এই পেতে খুব সহজ দ্রুত এর আগাছা হারিয়ে. এবং সেখানে অনেক সিনট্যাক্স চ্যালেঞ্জ যেখানে আপনি সবচেয়ে সহজ করে দেয়া হয়, প্রোগ্রামের টাইপস কেউ ফালতু সবটা কাজ করবে. আর তাই এর পরিবর্তে একটি ব্যবহার এই সকালে সি মত ভাষা, আমি ভেবেছিলাম এটা হবে আরো মজা আসলে কি কিছু আরো চাক্ষুষ, যা যখন বাচ্চাদের জন্য পরিকল্পিত আসলে একটি নিখুঁত উদ্ভাস একটি প্রকৃত প্রোগ্রামিং language-- শুধু ঘটবে টেক্সট এর পরিবর্তে ছবি ব্যবহার সেই ধারনা প্রতিনিধিত্ব করতে. তাই একবার আপনি নিশ্চয় আছে scratch.mit.edu অ্যাকাউন্টের, বোতাম তৈরি করুন ক্লিক উপরের সাইটের বাম. আর আপনি ভালো একটা পরিবেশে দেখা উচিত এক আমি আমার পর্দায় দেখা করতে এসেছি এখানে. আর আমরা অল্পমাত্র ব্যয় করব সময় বিট এখানে খেলে. চলুন আমরা যদি সব কিছু সমাধান করতে পারবে না এর দেখতে নিম্নোক্ত উপায়ে সমস্যার একসঙ্গে. তাই কি আপনি এই মধ্যে দেখতে পাবেন পরিবেশে এবং আসলে শুধু দিন আমাকে বিরাম. কেউ এখানে নেই? এখানে নেই? ঠিক আছে. তাই আমাকে কিছু উল্লেখ করতে দিন এই পরিবেশের বৈশিষ্ট্য. পর্দার উপরের বামদিকের সুতরাং, আমরা ভূত এর পর্যায়ে আছে, তাই কথা বলতে. ভূত না শুধুমাত্র নাম এই প্রোগ্রামিং ভাষা; এটা বিড়াল নাম যে আপনি কমলা ডিফল্ট দ্বারা দেখুন. তিনি একটি মঞ্চে তাই অনেক মত আমি বর্ণনা আগের কচ্ছপ একটি হচ্ছে হিসাবে আয়তাকার সাদা বোর্ড পরিবেশ. এই বিড়ালের বিশ্বের সম্পূর্ণরূপে সীমাবদ্ধ সেখানে যে আয়তক্ষেত্র উপরে থেকে. এদিকে, ডান হাত এখানে পাশ, এটা শুধু একটি স্ক্রিপ্ট এলাকা, একটি ফাঁকা স্লেট যদি আপনি হবে. এই যেখানে আমরা লিখতে যাচ্ছেন মাত্র কয়েক মিনিটের মধ্যে আমাদের প্রোগ্রাম. এবং বিল্ডিং ব্লক যে আমরা shall এই ধাঁধা প্রোগ্রামটিতে লিখতে ব্যবহার টুকরা, যদি আপনি ইচ্ছার লেগেছে হয় সেই অধিকার এখানে মাঝখানে, এবং তারা শ্রেণীকরণ করছি কার্যকারিতা দ্বারা. সুতরাং, উদাহরণস্বরূপ, আমি এগিয়ে যেতে চলেছি এবং এই অন্তত এক প্রকট. আমি এগিয়ে যান এবং ক্লিক করুন যাচ্ছি টপ আপ কন্ট্রোল বিভাগ. সুতরাং এই টপ আপ আরও আছে. আমি কন্ট্রোল বিভাগ ক্লিক করুন যাচ্ছি. বরং, আমি ঘটনাবলী ক্লিক করুন যাচ্ছি বিভাগ, খুব প্রথম এক উপরে. এবং আপনি এমনকি বরাবর অনুসরণ করতে চান তাহলে যেমন আমরা এই না, আপনি বেশ স্বাগত করছি. আমি ক্লিক করুন এবং এই টেনে নিয়ে যাচ্ছে প্রথম এক, "যখন সবুজ পতাকা ক্লিক." এবং তারপর আমি এটা শুধু ঝরা যাচ্ছি মোটামুটিভাবে আমার ফাঁকা স্লেট উপরের. আর কি ভূত সম্পর্কে চমৎকার এই ধাঁধা টুকরা, যখন যে অন্যান্য পাজল সঙ্গে interlocked টুকরা, আক্ষরিক করতে যাচ্ছে যারা পাজল টুকরা কি বলছি কি. সুতরাং, উদাহরণস্বরূপ, স্ক্র্যাচ সঠিক এখন তার পৃথিবীর মাঝখানে. আমি এগিয়ে যান এবং পছন্দ করে যাচ্ছি এখন, এর কথা বলা যাক, মোশন বিভাগ, আপনাকে যা করতে চাই same-- মোশন বিভাগ. আর এখন আমি একটি পুরো আছে এখানে পাজল টুকরা গুচ্ছ আবার, কোন ধরনের না তারা কী বলে. আমি এগিয়ে যান এবং টেনে নিয়ে যাচ্ছে এবং করছি অধিকার এখানে উপর সরানো ব্লক ড্রপ. এবং লক্ষ্য করা যত তাড়াতাড়ি আপনি পেতে হিসাবে "সবুজ পতাকার নীচে পাসে ক্লিক "বাটন, বিজ্ঞপ্তি কিভাবে একটি সাদা রেখা প্রদর্শিত হবে, যেরকম যদিও চুম্বকীয়, সেখানে যেতে চায়. শুধু যেতে দাও এবং এটি স্ন্যাপ করা হবে একসঙ্গে এবং আকার মেলে হবে. সম্ভবত প্রায় এবং এখন আপনি করতে পারেন অনুমান যেখানে আমরা এই সঙ্গে চলুন. আপনি ভূত পর্যায় তাকান এখানে এবং উপর এটি শীর্ষে চেহারা, আপনি একটি লাল আলো দেখতে পাবেন, একটি সাইন, এবং একটি সবুজ পতাকা বন্ধ. এবং আমি এগিয়ে যেতে চলেছি এবং আমার পর্দা ঘড়ি শুধু একটা মুহূর্ত জন্য, যদি পারতে. আমি ক্লিক করুন যাচ্ছি সবুজ পতাকা ডান এখন, এবং তিনি সরানো কি 10 ধাপ উপস্থিত হতে পারে বা 10 পিক্সেল, 10 বিন্দু, পর্দায়. তাই যে উত্তেজনাপূর্ণ না, কিন্তু আমাকে প্রস্তাব দিন এমনকি এই শিক্ষা দিতে ছাড়া, শুধু নিজের আপনার নিজের intuition-- এলইটি ব্যবহার আমার সম্পর্কে উত্থাপন করা যে আপনি জিনিসটা কিভাবে অধিকার মঞ্চ বন্ধ স্ক্র্যাচ হাঁটার করা. তাকে ডান পার্শ্ব জন্য পথ পরিষ্কার করা হয়েছে পর্দা, ডান সব পথ. আমাকে আপনি একটি মুহূর্ত দিই অথবা যাতে সঙ্গে কুস্তি. তুমি একটু খোঁজ নিতে চাইবে ব্লক অন্যান্য বিভাগ এ. ঠিক আছে. তাই শুধু সংক্ষিপ্তবৃত্তি, আমরা আছে সবুজ পতাকা এখানে ক্লিক এবং 10 ধাপ অগ্রসর হয় শুধুমাত্র নির্দেশ, প্রতিটি সময় আমি সবুজ পতাকা ক্লিক করুন, কি হচ্ছে? ভাল, যে আমার প্রোগ্রাম চলছে. তাই আমি এই কাজ করতে পারে হয়তো 10 বার নিজে কিন্তু এই সামান্য মতানুযায়ী বিট hackish, তাই কথা বলতে, যদ্দ্বারা আমি সত্যিই নই সমস্যা সমাধানে. আমি শুধু আবার চেষ্টা করছি এবং বারংবার যতক্ষণ না আমি সাজানোর ঘটনাক্রমে নির্দেশনা অর্জন যেগুলি সম্পর্কে আমি আগেই অর্জন সেট আউট. কিন্তু আমরা থেকে জানতে আমাদের pseudocode হয় আগে সেখানে যে looping প্রোগ্রামিং এই ধারণা, কিছু আবার এবং আবার করছেন. আমি দেখেছি যে আপনি একটি গুচ্ছ কি পাজল টুকরা জন্য বৃত্তান্ত পৌঁছেছে কি? যতক্ষণ না পুনরাবৃত্তি করুন. তাই আমরা কিছু করতে পারে মত না হওয়া পর্যন্ত পুনরাবৃত্তি. এবং আপনি ঠিক না হওয়া পর্যন্ত কি পুনরাবৃত্তি হয়নি? ঠিক আছে. আর আমাকে এক সাথে যাই কিছুটা শুধু একটা মুহূর্ত জন্য সহজ. আমাকে এগিয়ে যান এবং এই কাজের জন্য. লক্ষ্য করুন যে, আপনি হয়ত যেমন কন্ট্রোল অধীনে আবিষ্কৃত, সেখানে এই পুনরাবৃত্ত ব্লক, যা এটা মত দেখাচ্ছে না যে বড়. সেখানে অনেক ঘর ঐ দুটি হলুদ লাইনের মাঝে. কিন্তু তোমাদের মধ্যে এমন কিছু থাকতে পারে যেমন লক্ষ্য যদি আপনি ড্র্যাগ এবং ড্রপ, বিজ্ঞপ্তি কিভাবে এটি আকৃতি ভরাট জন্মে. আর আপনি যদি আরও বেশি ঠুসা পারেন. এটা ঠিক যদি ক্রমবর্ধমান যাব আপনি ড্র্যাগ এবং এটি উপর কার্সার রেখে. আর আমি কি জানি না এখানে সেরা, তাই আসুন আমাকে অন্তত পাঁচবার পুনরাবৃত্তি, জন্য উদাহরণস্বরূপ, এবং তারপর মঞ্চে ফিরে যেতে এবং সবুজ পতাকা ক্লিক করুন. এবং এখন লক্ষ্য এটা বেশ আছে না. এখন আপনি কিছু যেমন, প্রস্তাবিত ভিক্টোরিয়া শুধু হয়নি, 10 বার পুনরাবৃত্তি. এবং যে সাধারণভাবে নেই তাকে সব পথ পেতে, কিন্তু সেখানে না would আরও জোরালো হবে ইচ্ছামত figuring আউট চেয়ে উপায় কিভাবে অনেক প্যাচসমূহ করতে? কি একটা ভালো ব্লক হতে পারে পুনরাবৃত্ত তুলনায় 10 গুণ হতে? হ্যাঁ, তাই কেন সব সময় কিছু না? আর এখন আমাকে এই পাজল টুকরা সরানো যাক সেখানে ভিতরে এবং এই এক পরিত্রাণ পেতে. এখন কোন ব্যাপার যেখানে স্ক্র্যাচ বিজ্ঞপ্তি শুরু, তিনি প্রান্ত থেকে যায়. এবং সৌভাগ্যক্রমে এমআইটি, যারা ভূত করে তোলে, ঠিক নির্মিত হয় নিশ্চিত যে, সে কখনও সম্পূর্ণরূপে অদৃশ্য হয়ে যায়. আপনি সবসময় তার লেঙ্গুড় দখল করতে পারেন. আর শুধু intuitively, কেন তিনি চলন্ত রাখা? এখানে কি হচ্ছে? তিনি বন্ধ করে দিয়েছে বলে মনে হয় কিন্তু তারপর আমি এবং ড্র্যাগ কুড়ান তিনি ওখানে গিয়ে অনুপস্থিত রাখে. কেন হল? সত্যি, একটি কম্পিউটার আক্ষরিক হয় তুমি কি এটা করতে বলবেন কি করতে যাচ্ছি. তাই আপনি যদি এটা বলা তার আগে কি জিনিস চিরকালের নিম্নলিখিত, 10 ধাপ অগ্রসর, এটা যাচ্ছে এবং বর্তা যাচ্ছে যতক্ষণ না আমি লাল স্টপ সাইন আঘাত এবং প্রোগ্রাম পুরাপুরি বন্ধ. তাই, এমনকি যদি আপনি না এই না, আমি কিভাবে পারা স্ক্র্যাচ পদক্ষেপ দ্রুততর পর্দা জুড়ে? আরও বেশ কয়েকটি ধাপ, ঠিক আছে? সুতরাং পরিবর্তে 10 করছেন একটি সময়ে, আমরা কেন নই? এগিয়ে যান এবং এটা চাচ্ছি পরিবর্তন কি আপনি 50 propose-- হবে? তাই এখন আমি ক্লিক করুন সবুজ যাচ্ছি পতাকা, এবং প্রকৃতপক্ষে, তিনি সত্যিই দ্রুত যায়. এবং এই, অবশ্যই, শুধু অ্যানিমেশন একটি উদ্ভাস. অ্যানিমেশন কি? এটা শুধু আপনি দেখাচ্ছে মানুষের একটি এখনও ইমেজ আভা সত্যিই, সত্যিই, সত্যিই দ্রুত. আর তাই যদি আমরা শুধু বলছ তাকে আরও বেশ কয়েকটি ধাপ অগ্রসর, আমরা শুধু প্রভাব হতে হচ্ছে পরিবর্তন যেখানে তিনি পর্দায় হয় সব আরো দ্রুত প্রতি সময় ইউনিটে. এখন পরবর্তী চ্যালেঞ্জ যে আমি প্রস্তাব তাকে প্রান্ত বন্ধ বড়াই আছে ছিল. আর জেনে কি ধাঁধা টুকরা exist-- কারণ এটা সূক্ষ্ম আপনি পাবেন না যদি challenge-- স্টেজ কি আপনি intuitively, কি করতে চাও? কিভাবে আমরা তাকে ফিরে বড়াই হবে এবং ঘোষণা, বাম এবং ডান মধ্যে? হ্যা. তাই আমরা কিছু ধরনের প্রয়োজন অবস্থার, এবং আমরা কন্ডিশন আছে, তাই বলে মনে হচ্ছে কথা বলতে, কন্ট্রোল বিভাগ অধীনে. এই ব্লক কোনটি আমরা সম্ভবত চাও? হ্যা, হয়তো ", তাহলে." তাই লক্ষ্য হলুদ ব্লক মধ্যে যে আমরা এখানে আছে, সেখানে এই "যদি" নয় বা এই "যদি, অন্য" ব্লক হবে আমাদের এই কাজ করতে একটি সিদ্ধান্ত নেওয়ার জন্য অনুমতি দেয় অথবা যে কাজ করতে. এমনকি তাদের নীড় এবং আপনি যা করতে পারেন একাধিক কিছু করার. অথবা আপনি এখানে এখনো চলে না করে থাকেন তাহলে, সংবেদন বিভাগ থেকে এগিয়ে যান and-- যদি তা দেখতে এখানে দিন. তাই কি এখানে ব্লক সহায়ক হতে পারে যদি তিনি মঞ্চে বন্ধ সনাক্তকরন যায় কি? হাঁ, যে এই ব্লক কিছু লক্ষ্য parametrized করা যেতে পারে, তাই কথা বলতে. তারা সাজানোর অনুকূলিতকরণ করা যাবে, না এইচটিএমএল অসদৃশ গতকাল বৈশিষ্ট্যাবলী সঙ্গে, যেখানে ঐ বৈশিষ্ট্যাবলী ধরনের একটি ট্যাগের ব্যবহার করবে তা পছন্দমত. একইভাবে এখানে, আমি এই স্পর্শ দখল করতে পারেন ব্লক এবং পরিবর্তন এবং প্রশ্ন জিজ্ঞাসা, আপনি মাউস স্পর্শ করা হয় কার্সার মত পয়েন্টার অথবা আপনি প্রান্ত স্পর্শ করা হয়? তাই আমাকে এ যান এবং এই কাজের জন্য. আমি এক মুহূর্তের জন্য জুম আউট করা যাচ্ছে না. আমাকে এই ধাঁধা টুকরা দখল করা যাক এখানে, এই ধাঁধা টুকরা এই, এবং আমি মিশান যাচ্ছি শুধু একটা মুহূর্ত জন্য তাদের আপ. আমি এই সরাতে যাচ্ছি, স্পর্শ প্রান্ত থেকে এই পরিবর্তন, এবং আমি গতি যাচ্ছি এই না. তাই এখানে কিছু উপাদান আছে. আমি সবকিছু আমি চাই পেয়েছেন মনে. কেউ কিভাবে উত্থাপন করতে চাই আমি সংযোগ করতে পারেন এই হয়তো নিচ থাকার সমস্যা সমাধান করার জন্য ভূত সরানো ডানে বাম থেকে ডানে ডান থেকে বাম, প্রতিটি বামে সময় শুধু প্রাচীর বন্ধ প্রাণচঞ্চল? আমি কি করতে চাও? যা ব্লক আমি সাথে সংযোগ করা উচিত "যখন সবুজ পতাকা প্রথম ক্লিক"? ঠিক আছে, তাই এর সঙ্গে শুরু করা যাক "সব সময় প্রবেশ করুন." কি পরবর্তী ভিতরে যায়? অন্য কেউ. ঠিক আছে, পদক্ষেপ সরানো. ঠিক আছে. তারপর কি? তখন যদি. এবং লক্ষ্য করা, যদিও এটা দেখে মনে একসঙ্গে শক্তভাবে sandwiched, এটা শুধু ভরাট জন্মাবে. এটা ঠিক যে যেখানে আমি এটি করতে চান তিড়িং লাফ হবে. এবং কি আমি মধ্যে রাখে না যদি এবং তারপর? সম্ভবত "যদি প্রান্ত স্পর্শ." এবং খেয়াল করুন, আবার, এটা খুব বড় এটা জন্য, কিন্তু তা পূরণ করতে জন্মাবে. এবং তারপর 15 ডিগ্রী কোনে ঘুরে? গব্রতজতধ? হ্যাঁ, তাই 180 ঘুর্ণন হবে আমার প্রায় সব পথ. সুতরাং আসুন দেখি আমি এই অধিকার লাভ করেছিলেন. আমাকে জুম আউট করা যাক. আমাকে স্ক্র্যাচ টেনে দাও. সুতরাং সে একটু বিকৃত হচ্ছে এখন, কিন্তু যে সূক্ষ্ম. আমি কিভাবে তাকে সহজে রিসেট করতে পারেন? আমি সামান্য ঠকাই যাচ্ছি. তাই আমি অন্য যোগ করছি ব্লক, ঠিক পরিষ্কার করা. আমি তাকে 90 ডিগ্রী নির্দেশ করতে চান ডিফল্টরূপে ডানদিকে, তাই আমি শুধু তাকে বলতে যাচ্ছি যে প্রোগ্রাম করতে. আর এখানে আমরা যেতে. আমরা তা করেছি বলে মনে হচ্ছে. এটা একটু অদ্ভুত, কারণ তিনি উলটাইয়া হাঁটছে. এর একটি বাগ ডাকুক. যে একটা ভুল. একটি বাগের একটি প্রোগ্রাম, একটি একটি ভুল লজিক্যাল ত্রুটি যে আমি, মানবিক, তৈরি. কেন তিনি উলটাইয়া যাচ্ছে? এমআইটি স্ক্রু আপ বা আমি নি? হ্যা, আমি বলতে চাচ্ছি, এটা না MIT- এর দোষ. তারা আমাকে একটি ধাঁধা টুকরা দিয়েছেন যে ডিগ্রী কিছু সংখ্যা ঘুরিয়ে বলেছেন. আর ভিক্টোরিয়ার পরামর্শে, আমি 180 ডিগ্রী বাঁক করছি, যা ডান স্বজ্ঞা হয়. কিন্তু 180 ডিগ্রী আক্ষরিক বাঁক 180 ডিগ্রী বাঁক মানে, এবং যে সত্যিই না আমি কি চাই, দৃশ্যত. কারণ অন্তত সে আছে এই দুই-মাত্রিক জগত, তাই বাঁক সত্যিই যাচ্ছে তাকে টুসকি উলটাইয়া. আমি সম্ভবত কি ব্লক ব্যবহার করতে চান পরিবর্তে, ভিত্তি করে আপনাকে এখানে দেখতে কি উপর? আমরা এই সমস্যা সমাধান করা যেতে পারে? হ্যাঁ, তাই আমরা উল্লেখ করতে পারি, বিপরীত দিক. এবং প্রকৃতপক্ষে এমনকি যে যথেষ্ট করা যাচ্ছে না, কারণ আমরা শুধুমাত্র হার্ড কোড পারেন বাম বা ডান নির্দেশ. আপনি তো জানেন আমরা কি করতে পারে? এটা দেখে মনে হচ্ছে আমরা একটি আছে সুবিধার ব্লক এখানে. তাহলে আমি জুম দেখুন কিছু আমরা এখানে ভালো লাগে? তাই এটা দেখে মনে হচ্ছে MIT- র মত একটি হয়েছে বিমূর্ততা এখানে সালে নির্মিত. ব্লকের সমতুল্য মনে করা হয় যা অন্যান্য ব্লক, বহুবচন? এই এক ব্লক সমতুল্য মনে করা হয় ব্লক এই পুরো ত্রয়ী থেকে যে আমরা এখানে আছে. সুতরাং দেখা যাচ্ছে আমি সহজ করে ফেলি আমার দ্বারা যে সব পরিত্রাণ প্রোগ্রাম এবং শুধু এখানে এই করা. আর এখন সে একজন একটু বগী, এবং যে সূক্ষ্ম জন্য এখন. আমরা যে হতে ছেড়ে দেব. কিন্তু আমার প্রোগ্রাম এমনকি সহজ, এবং এই, খুব, প্রতিনিধি হবে programming-- একটি লক্ষ্যের আদর্শভাবে যেমন আপনার কোড করা হয় সহজ, সম্ভব হিসাবে কম্প্যাক্ট যেমন, এখনও যেমন হচ্ছে যখন সম্ভব হিসাবে পাঠযোগ্য. আপনি এটা এত পরিবেষ্টিত করতে চাই না বুঝতে হবে যে এটা কঠিন. কিন্তু লক্ষ্য করা আমি প্রতিস্থাপিত করেছি এক সঙ্গে তিনটি ব্লক, এবং যে তর্কসাপেক্ষ একটা ভাল জিনিস. আমি দূরে ধারণা আনমনা করেছি রোধন তুমি কিনা মাত্র এক ব্লক প্রান্ত উপর. এখন আমরা আসলে এই সঙ্গে মজা করতে পারেন. এই এত যোগ না বুদ্ধিজীবী মান কিন্তু কৌতুকপূর্ণ মান. আমি এগিয়ে যেতে চলেছি এবং এই শব্দ এখানে দখল. তাই আমাকে এগিয়ে যেতে দাও এবং আমাকে একটি মুহূর্ত জন্য প্রোগ্রাম বন্ধ. আমি নিম্নলিখিত রেকর্ড করতে যাচ্ছি, আমার মাইক্রোফোন অ্যাক্সেস করতে সক্ষম হবেন. এখানে আমরা যেতে. সেকি. এর আবার চেষ্টা করা যাক. এখানে আমরা যেতে. ঠিক আছে, আমি ভুল জিনিস রেকর্ড. এখানে আমরা যেতে. সেকি. সেকি. ঠিক আছে. এখন আমি যে পরিত্রাণ পেতে প্রয়োজন. ঠিক আছে. একটি তাই এখন আমি শুধু রেকর্ডিং "সেকি." এখন তাই আমি যেতে চলেছি এগিয়ে এবং এই "সেকি." কল আমি ফিরে যেতে চলেছি আমার স্ক্রিপ্ট, এবং এখন নোটিশ সেখানে ব্লকের যে বলা হচ্ছে শব্দ "মীআও" খেলা বা শব্দ খেলা "সেকি." আমি এই টেনে নিয়ে যাচ্ছে, এবং যেখানে আমি হাস্যরসাত্মক প্রভাব জন্য এই করা উচিত? হ্যাঁ, তাই এখন এটা ধরনের এর বগী, কারণ এখন এই ব্লক লক্ষ্য কিভাবে এই "যদি উত্তেজিত, বাউন্স "মুখচোরা ধরনের. তাই আমি এই সমাধানের জন্য প্রয়োজন. আমাকে এগিয়ে যান এবং এই কাজের জন্য. আমাকে এই পরিত্রাণ পেতে যাক এবং ফিরে যান আমাদের মূল থেকে, আরো ইচ্ছাকৃত কার্যকারিতা. সুতরাং "যদি প্রান্ত স্পর্শ, তারপর" আমি চাই ঘুরিয়ে, যেমন ভিক্টোরিয়া প্রস্তাব 180 ডিগ্রী. আর আমি খেলতে চাই না শব্দ "সেকি" সেখানে? হ্যা, খেয়াল এটা বাইরে যে হলুদ ব্লক. একটি এই একইভাবে, হবে বাগ, কিন্তু আমি এটা খেয়াল করেছি. তাই আমি এখানে এটা টেনে যাচ্ছি, এখন এবং বিজ্ঞপ্তি এটা ভিতরে "যদি." সুতরাং "যদি" এই সাজানোর মত হাত-মত ফোঁটার এর যে শুধুমাত্র যাচ্ছে কি এটা ভিতরে না. সুতরাং এখন যদি আমি এ জুম আউট annoying-- ঝুঁকি কম্পিউটার: সেকি, সেকি, সেকি. DAVID Malan: এবং এটা শুধু চিরকালের জন্য যেতে হবে. এখন শুধু কিছু ত্বরান্বিত এখানে, আমাকে এগিয়ে যান এবং খুলুন যাক, আসুন আমার কিছু যাই কথাই শ্রেণী থেকে আমার নিজের জিনিস. এবং সম্পর্কে পূর্ণপ্রকাশিত স্বীকার করে বলে, এই যাক, এক আমাদের শিক্ষণ ফেলোগণ এক দ্বারা তৈরি করা বছর দুয়েক আগে. সুতরাং আপনি কিছু প্রত্যাহার হতে পারে বিগতবত্সর থেকে এই খেলা, এবং এটা আসলে লক্ষণীয়. যদিও আমরা সম্পন্ন করেছি প্রোগ্রামের সহজ ডান এখন, এর কি এই বিবেচনা করা যাক আসলে ভালো দেখায়. আমার খেলা আঘাত করা যাক. তাই এই গেমটি ইন, আমরা একটি আছে বেঙ, এবং তীর ব্যবহার keys-- তিনি বড় পদক্ষেপ চেয়ে আমি মনে রাখা লাগে আমি এই বেঙ উপর নিয়ন্ত্রণ আছে. আর লক্ষ্য ব্যস্ত জুড়ে পেতে হয় কার মধ্যে চলমান ছাড়া রাস্তা. আর আমি যদি আপ যেতে এখানে এর see-- যাক, আমি একটি লগ স্ক্রল করার জন্য অপেক্ষা করতে হবে. এই একটি বাগ মত মতানুযায়ী. এই বাগ ধরনের. ঠিক আছে. আমি এখানে এই আছি, আছে, এবং তারপর আপনি রাখা যতক্ষণ না আপনি সব পেতে যাচ্ছে কমল প্যাড থেকে ব্যাঙ. এখন এই চেহারা হতে পারে সব আরো জটিল, কিন্তু এর ভঙ্গ করার চেষ্টা করা যাক এই নিচে মানসিকভাবে এবং তার উপাদান ব্লকের মধ্যে শব্দগতভাবে. তাই সেখানে সম্ভবত একটি ধাঁধা এর টুকরা যে আমরা এখনো দেখা যায় না কিন্তু যে কীস্ট্রোক থেকে সাড়া দিচ্ছে, জিনিস আমি কীবোর্ড উপর আঘাত. তাই সেখানে সম্ভবত কিছু ধরনের ব্লক যে, যদি চাবি পর্যন্ত সমান, তারপর গোড়া দিয়ে কিছু করতে হয়ত এটা 10 ধাপ এই ভাবে অগ্রসর. নিচে কি টেপা না হলে, 10 ধাপ অগ্রসর এই ভাবে, বা বাম কী, 10 ধাপ অগ্রসর এই ভাবে, 10 ধাপ যে. আমি পরিষ্কারভাবে একটি বেঙ মধ্যে বিড়াল পরিণত করেছি. সুতরাং যে শুধু কোথায় স্ক্র্যাচ কল আমরা এটিকে পরিচ্ছদ, যেমন শুধু ব্যাঙের একটি ছবি আমদানি করা. কিন্তু অন্য কী হচ্ছে? কি কোড অন্যান্য লাইন, কি অন্যান্য পাজল টুকরা ব্লেক করেনি, আমাদের শিক্ষণ সহকর্মী, এই প্রোগ্রামে ব্যবহৃত হচ্ছে, দৃশ্যতঃ? কি সবকিছু বানাচ্ছেন move-- কি প্রোগ্রামিং নির্মাণে? মোশন, তাই sure-- ব্লক সরানো, নিশ্চিত. আর কি যে পদক্ষেপ ব্লক এর, সম্ভবত ভিতরে? হ্যা, লুপ কিছু, হয়তো প্রবেশ করুন ব্লক, হয়তো একটি পুনরাবৃত্ত ব্লক ব্লক পর্যন্ত পুনরাবৃত্তি. এবং যে কি লগ বানাচ্ছেন এবং কমল প্যাড এবং অন্য সব কিছুর পদক্ষেপ আগে পিছে. এটা শুধু অন্তহীন ঘটছে. কেন কার কিছু অন্যদের তুলনায় দ্রুত চলন্ত? যারা প্রোগ্রাম সম্পর্কে বিভিন্ন কি? হ্যা, সম্ভবত তাদের কিছু গ্রহণ করা হয় একবারে আরও বেশ কয়েকটি ধাপ এবং তাদের কিছু একবারে কম পদক্ষেপ. এবং ভিজ্যুয়াল ইফেক্ট বনাম ধীর দ্রুত. কি ঘটেছিল মনে করেন? যখন আমি আমার বেঙ পেয়েছিলাম সব পথ রাস্তায় এবং নদী জুড়ে কমল প্যাড, কিছু সম্মুখের উল্লেখযোগ্য ঘটেছে. যত তাড়াতাড়ি আমি যে কি ঘটেছে? এটা থেমেছিল. এই ব্যাঙ বন্ধ, এবং আমি একটি দ্বিতীয় বেঙ পেয়েছিলাম. তাই কি কনস্ট্রাক্ট হবে সেখানে ব্যবহৃত, কি বৈশিষ্ট্য? হ্যাঁ, তাই সেখানে কোন ধরণের "যদি" সেখানে আপ শর্ত. এবং এটি সক্রিয় out-- আমরা আপাততঃ দেখতে পাইনি কিন্তু সেখানে যে অন্যান্য ব্লক বলতে পারেন, যদি আপনি স্পর্শ করা হয় পর্দায় অন্য জিনিস, আপনি কমল প্যাড, স্পর্শ করছি যদি "তারপর." এবং তারপর যে যখন আমরা এর দ্বিতীয় বেঙ প্রদর্শিত করতে. সুতরাং যদিও এই গেমটি অবশ্যই হয় খুব অপ্রচলিত, এমনকি প্রথম নজরে যদিও এত যাচ্ছে সেখানে on-- এবং ব্লেক দুই মিনিটের মধ্যে এই পিটান করা হয়নি, এটা সম্ভবত তাকে বিভিন্ন গ্রহণ ঘন্টার এই গেমটি তৈরি করতে তার স্মৃতি বা ভিডিও উপর ভিত্তি করে এটা এর বিগতবত্সর সংস্করণের. কিন্তু এই সামান্য জিনিস সব একলা পর্দায় যাচ্ছে এই খুব সহজ ফুটাইয়া কমান constructs-- আন্দোলন বা বিবৃতি মত আমরা আলোচনা করেছি, loops এবং শর্ত, এবং যে এটি সম্পর্কে. সেখানে কয়েক অন্যান্য কল্পনাকারী বৈশিষ্ট্য. তাদের মধ্যে কেউ কেউ বিশুদ্ধরূপে হয় নান্দনিক বা শাব্দ, শব্দসমূহ মত আমি শুধু সঙ্গে অভিনয়. কিন্তু অধিকাংশ অংশ জন্য, আপনি এই ভাষা, ভূত আছে, মৌলিক সব যে বিল্ডিং ব্লক আপনি সি, জাভা, জাভাস্ক্রিপ্ট মধ্যে আছে, পিএইচপি, রুবি, পাইথন, এবং অন্যান্য ভাষায় কোনো সংখ্যা. ভূত সম্পর্কে কোন প্রশ্ন? ঠিক আছে. সুতরাং আমরা ভূত গভীর ডুব করা হবে না, যদিও আপনি এই সপ্তাহান্তে স্বাগত করছি, আপনি কিডস আছে, বিশেষ করে যদি বা ভাগ্নী এবংভাগ্নারা এবং যেমন, তাদের স্ক্র্যাচ থেকে পরিচয় করিয়ে দিতে. এটা আসলে একটি wonderfully কৌতুকপূর্ণ এর পরিবেশের সঙ্গে, যেমন তার লেখক বলে, খুব উচ্চ সিলিং. যদিও আমরা দিয়ে শুরু খুব নিম্নস্তরের বিস্তারিত, আপনি সত্যিই বেশ বিট কি করতে পারেন এটা দিয়ে, এবং এই সম্ভবত হয় ঠিক যে একটি বিক্ষোভের. কিন্তু এর এখন আরো কিছু রূপান্তর দিন অত্যাধুনিক সমস্যা, যদি আপনি হবে, "অনুসন্ধানের" নামে পরিচিত এবং "বাছাই" আরো সাধারণভাবে. আমরা এই ফোন বই earlier-- এখানে ছিল শুধু discussion-- জন্য অন্য এক আমরা অনুসন্ধান করতে সক্ষম হয়েছি যে আরো দক্ষতার কারণ একটি গুরুত্বপূর্ণ ধৃষ্টতা. আর ঠিক পরিষ্কার করা, কি ধৃষ্টতা আমি তৈরি ছিল যখন এই ফোন বই মাধ্যমে অনুসন্ধান? মাইক স্মিথ ছিল যে ফোন বই, আমি যদিও হ্যান্ডেল করতে সক্ষম হবে তাকে ছাড়া দৃশ্যকল্প সেখানে যদি আমি অকালে বন্ধ. বই বর্ণানুক্রমিক. এবং যে একটি খুব উদার হচ্ছে ধৃষ্টতা, যে কারণ মানে someone-- আমি ধরনের আছি একটি কোণ কাটা, মত আমি দ্রুত কেউ কারণ am আর আমার জন্য কঠিন কাজ অনেকটা করেনি. কিন্তু কি করে ফোন বই পাঁচমিশালী হয়? হয়তো ভেরাইজন অলস পেয়েছিলাম, শুধু ছুড়ে সবার নাম ও নম্বর সেখানে হয়তো অনুক্রমে যা তারা ফোন সেবা জন্য সাইন আপ. এবং অনেক সময় কিভাবে এটা আমাকে লাগবে মাইক স্মিথ মত কেউ খুঁজে পেতে? 1,000 পাতা ফোন বই কত পৃষ্ঠাগুলি আমি মাধ্যমে সন্ধান করতে হবে? তাদের সবাই. আপনি ধরণের ভাগ্য ফুরিয়েছে. আপনি আক্ষরিক প্রতিটি চেহারা আছে পাতা যদি ফোন বই শুধু এলোমেলোভাবে সাজানো. আপনি ভাগ্যবান পেতে এবং মাইক পেতে পারে তিনি কারণ খুব প্রথম পাতায় প্রথম গ্রাহক ছিল ফোন সেবা অর্ডার. কিন্তু তিনি শেষ, খুব হয়েছে হতে পারে. তাই র্যান্ডম ভাল নয়. তাই অনুমান আমরা বাছাই করতে হবে ফোন বই বা সাধারণ সাজানোর ডেটাতে যে আমরা পেয়েছি. কীভাবে আমরা তা করতে পারি? আচ্ছা, আমাকে শুধু চেষ্টা করি এখানে একটি সহজ উদাহরণ. আমাকে এগিয়ে যান এবং একটি শিরসঁচালন যাক বোর্ডে কয়েকটি সংখ্যা. সংখ্যার আমরা আছে ধরুন, স্বীকার করে বলে, চার, দুই, এক, এবং তিন দিন. আর, বেন, আমাদের জন্য এই সংখ্যা বাছাই. ঠিক আছে ভালো. আপনি এটা কিভাবে করেছিলেন? ঠিক আছে. তাই ক্ষুদ্রতম দিয়ে শুরু মান এবং সর্বোচ্চ, এবং যে সত্যিই ভালো অনুভূতি. এবং যে আমরা বুঝতে পারি মানুষের আসলে বেশ হয় সমাধানে সমস্যার ভালো এই মত, অন্তত যখন ডেটা অপেক্ষাকৃত ছোট. যত তাড়াতাড়ি আপনি যাদের আছে শুরু করবেন সংখ্যার, সংখ্যা হাজার হাজার, সংখ্যা লক্ষ লক্ষ, বেন সম্ভবত এটা বেশ যে দ্রুত করতে না পারে, অভিমানী ছিল যে সংখ্যায় ফাঁক. চমত্কার একটি মিলিয়ন গণনা করা সহজ অন্যথায়, শুধু সময় গ্রাসকারী. সুতরাং অ্যালগরিদম শোনাচ্ছে মত বেন এখন শুধু ব্যবহৃত ক্ষুদ্রতম সংখ্যার জন্য অনুসন্ধান. সুতরাং যদিও আমরা মানুষের নিতে পারেন চাক্ষুষরূপে তথ্য অনেক মধ্যে, একটি কম্পিউটার আসলে একটু বেশি সীমিত. কম্পিউটারটি বন্ধ করতে শুধুমাত্র একটি সময়ে এক বাইট তাকান বা হয়তো একটি time-- চার বাইট আজকাল হয়তো time-- 8 বাইট কিন্তু খুব অল্প সংখ্যক একটি নির্দিষ্ট সময়ে বাইট. তাই দেওয়া আমরা সত্যিই আছে চারটি পৃথক মান এখানে এবং আপনি থাকার হিসাবে বেন মনে করতে পারেন যদি তিনি একটি কম্পিউটার যেমন ছিলেন অন্ধ তিনি অন্য কিছু দেখতে পাচ্ছি না যে একটি time-- এ এক নম্বর চেয়ে তাই আমরা সাধারণত মত অনুমান করা হবে, ইংরেজি, আমরা ডান থেকে বাম পড়ব. সুতরাং প্রথম সংখ্যা বেন সম্ভবত লাগছিল খুব দ্রুত চার ছিল এবং তারপর বুঝতে পেরেছি যে একটি চমত্কার বড় হল-- আমাকে খুঁজছেন রাখা যাক. সেখানে দুটি. একটি মিনিট অপেক্ষা করুন. দুই চার চেয়ে ছোট. আমি মনে রাখা যাচ্ছে না. দুই এখন সবচেয়ে ছোট. এখন one-- যে আরও ভাল. এমনকি ছোট. আমি প্রায় দুই ভুলে যাচ্ছি এবং এইমাত্র এক স্মরণ. এবং তিনি খুঁজছেন থামাতে পারে? আচ্ছা, সে ভিত্তি পারে এই তথ্যের উপর, কিন্তু তিনি ভাল অনুসন্ধান চাই তালিকার বাকি. কারণ তালিকায় কি শূন্য হলে ছিল? কি যদি নেতিবাচক এক তালিকায় ছিল? তিনি শুধুমাত্র জানে যে তার উত্তর সঠিক হলে তিনি বিস্তারিত আছে পুরো তালিকা চেক. সুতরাং আমরা এই বাকি তাকান. যে তিন সময় নষ্ট ছিল. দুর্ভাগা পেয়েছিলাম, কিন্তু আমি ছিলাম এখনও তাই করতে সঠিক. আর তাই এখন তিনি সম্ভবতঃ নির্বাচিত ক্ষুদ্রতম সংখ্যা এবং মাত্র শুরুতে এটি করা তালিকার, আমি এখানে কি করব হিসেবে. এখন কি আপনি, না পরের রেখেছিল, যদিও আপনি এটি সম্পর্কে প্রায় মনে করি না এই পরিমাণে? প্রক্রিয়া পুনরাবৃত্তি করুন তাই লুপ কিছু. একটা পরিচিত ধারণা. তাই এখানে চার হয়. যে বর্তমানে ক্ষুদ্রতম এর. যে প্রার্থীর. আর না. এখন আমি দুই দেখেছি. যে পরের ক্ষুদ্রতম উপাদান. আছি-- ছোট না, তাই এখন বেন দুই থেকে কিছুই কেড়ে পারেন. আর এখন আমরা প্রক্রিয়া পুনরাবৃত্তি এবং অবশ্যই তিনটি পরবর্তী টানা আউট পরার. প্রক্রিয়া পুনরাবৃত্তি করুন. চার টানা আউট পরার. আর এখন আমরা সংখ্যার ফুরিয়েছে, তাই তালিকা অনুসারে বাছাই করা আবশ্যক. এবং প্রকৃতপক্ষে, এই একটি আনুষ্ঠানিক আলগোরিদিম. একজন কম্পিউটার বিজ্ঞানী would এই "নির্বাচন সাজানোর," কল ধারণা সাজানোর একটি হচ্ছে iteratively-- আবার তালিকা এবং আবার এবং আবার নির্বাচন ক্ষুদ্রতম সংখ্যা. আর কি সুন্দর সম্পর্কে এটা হয় শুধু তাই অভিশাপ স্বজ্ঞাত. এটা এত সহজ নয়. আর তুমি একই পুনরায় রিপিট করতে পারেন আবার এবং আবার অপারেশন. ইহা সহজ. এই ক্ষেত্রে এটি দ্রুত ছিল, কিন্তু কতদিন এটা আসলে লাগবে? স্বীকার করে নেওয়াই ভালো বলে মনে করা যাক এবং একটু বেশি ক্লান্তিকর মনে. তাই এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট, নয়, 10, 11, 12, 13, 14, 15, 16-- নির্বিচারে সংখ্যা. আমি শুধু আরও চাইতাম মাত্র চার চেয়ে সময়. তাই আমি একটি পুরো পেয়েছেন সংখ্যার গুচ্ছ এটা now-- এমনকি কোন ব্যাপার না কি তারা আসুন are-- কি এই সম্পর্কে চিন্তা অ্যালগরিদম সত্যিই ভালো হয়. ধরুন সেখানে নম্বর আছে. আবার, কোন ব্যাপার না কি তারা, কিন্তু তারা র্যান্ডম করছি. আমি বেন এর এলগরিদম আবেদন করছি. আমি ক্ষুদ্রতম সংখ্যা নির্বাচন করতে হবে. আমি কি করব? আমি শারীরিকভাবে যাচ্ছি এটা এই সময় এটা কাজ করতে করতে. খুঁজছি, খুঁজছি, খুঁজছি, খুঁজছি, খুঁজছি. শুধু সময় আমি পেতে দ্বারা তালিকার শেষে পারেন আমি ক্ষুদ্রতম উপলব্ধি দুই নম্বর এই সময় ছিল. এক তালিকায় না. তাই আমি দুই দমন করা. আমি কি করব? , খুঁজছি খুঁজছি, খুঁজছি, খুঁজছি. এখন আমি সাত নম্বরে পাওয়া, কারণ সেখানে এই সংখ্যার মধ্যে ফাঁক আছে কিন্তু শুধু নির্বিচারে. ঠিক আছে. তাই এখন আমি নিচে সাত লাগাতে পারেন. খুঁজছি খুঁজছি, খুঁজছি. এখন আমি, এর অভিমানী করছি অবশ্যই, যে বেন না অতিরিক্ত র্যাম আছে, অতিরিক্ত মেমরি, কারণ, অবশ্যই, আমি একই সংখ্যা দিকে তাকিয়ে আছি. নিশ্চয় আমি স্মরণ করতে পারতেন ঐ সংখ্যার সব, এবং যে একেবারে সত্য. কিন্তু যদি বেন স্মরণ সংখ্যার তিনি দেখেছেন, তিনি সত্যিই করেছেন মৌলিক অগ্রগতি তিনি ইতিমধ্যে কারণ অনুসন্ধান করার ক্ষমতা বোর্ডে সংখ্যার মধ্য দিয়ে. সব স্মরণ সংখ্যার সাহায্য না, কারণ তিনি এখনও একটি কম্পিউটার যেমন পারেন শুধুমাত্র এ, আমরা আগেই বলেছি, এক নম্বর দেখুন একেবারে. তাই সেখানে ঠকাই কোন সাজানোর আপনি সেখানে লিভারেজ করতে পারে. তাই বাস্তবে, যেমন আমি অনুসন্ধানের তালিকা রাখা, আমি আক্ষরিক শুধু বর্তা আছে এটা মাধ্যমে পিছে, খুঁজে অবচয় পরবর্তী সবচেয়ে ছোট সংখ্যা. এবং হিসাবে আপনি ধরনের আবিষ্কার করতে পারেন আমার নিরীহ আন্দোলন থেকে, এই মাত্র খুব পায় খুব দ্রুত ক্লান্তিকর, এবং আমি ফিরে যাওয়া হবে বলে মনে হচ্ছে এবং ঘোষণা, আগে পিছে বেশ বিট. এখন পরিষ্কার করা, আমাকে যেতে হবে না বেশ, ভাল, এর সুষ্ঠু হতে see-- যাক, আমি বেশ হাঁটতে হবে না যেমন অনেক পদক্ষেপ প্রতিটি সময়. কারণ, অবশ্যই, আমি যেমন তালিকা থেকে নম্বর নির্বাচন, অবশিষ্ট তালিকা খাটো হচ্ছে. আর তাই এর সম্পর্কে চিন্তা করি কতগুলি পদক্ষেপ আমি আসলে করছি প্রতিটি সময় মাধ্যমে traipsing. প্রথম অবস্থায় আমরা 16 সংখ্যার ছিল, এবং তাই maximally-- এর মাত্র দিন একটি discussion-- জন্য এই না আমি 16 মাধ্যমে সন্ধান করতে ছিল সংখ্যার ক্ষুদ্রতম খুঁজে পেতে. কিন্তু একবার আমি উপড়ে ক্ষুদ্রতম সংখ্যা, কিভাবে দীর্ঘ অবশ্যই অবশিষ্ট তালিকা, ছিল? মাত্র 15. তাই কত নম্বর বেন বা আমি করেনি প্রায় দ্বিতীয় সময় মাধ্যমে সন্ধান করতে? 15, শুধু যেতে এবং ক্ষুদ্রতম খুঁজে পেতে. কিন্তু এখন, অবশ্যই, তালিকা, হয় খুব ছোট তুলনায় এটি অনেক আগে থেকেই আছেন. সুতরাং কিভাবে আমি অনেক পদক্ষেপ করেনি পরবর্তী সময় নিতে হবে? 14 এবং তারপর 13 এবং তারপর 12, প্লাস ডট, বিন্দু, বিন্দু পর্যন্ত আমি শুধু এক সঙ্গে বাম করছি. তাই এখন একটি কম্পিউটার বিজ্ঞানী would জিজ্ঞাসা, ভাল, যে সব সমান কি? এটা আসলে কিছু কংক্রিট সমান সংখ্যা যে আমরা অবশ্যই পারা arithmetically না, কিন্তু আমরা কথা বলতে চাই আলগোরিদিম দক্ষতা সম্পর্কে একটু বেশি formulaically, কিভাবে দীর্ঘ তালিকা স্বাধীন. এবং যাতে আপনি জানেন কি? এই হল 16, কিন্তু আমি আগে বলেন, আসুন শুধু সমস্যা মাপ কল এন, যেখানে n কিছু সংখ্যা. হয়তো এটা 16 এর, হয়তো এটা তিন, হয়ত এটা একটা মিলিয়ন এর. আমি জানি না. আমি পরোয়া করি না. কি আমি সত্যিই চাই একটি সূত্র যে আমি করতে পারেন এই অ্যালগরিদম তুলনা করার জন্য ব্যবহার অন্যান্য আলগোরিদিম বিরুদ্ধে যে কেউ দাবি করতে পারে ভাল বা খারাপ. সুতরাং দেখা যাচ্ছে, এবং আমি শুধুমাত্র গ্রেড স্কুল থেকে এই জানি, আসলে এই একই আউট কাজ করে প্লাস এন উপর এন যেমন জিনিস দুই এক. এবং এই, সমান ঘটবে অবশ্যই, n ছক প্লাস দুই এন. সুতরাং যদি আমি একটি সূত্র চেয়েছিলেন কতগুলি পদক্ষেপ জন্য এ সব খুঁজছেন জড়িত ছিল আবার এবং আবার ঐ সংখ্যার এবং আবার এবং আবার, আমি বলব এটি এন স্কয়ার্ড প্লাস দুই এন. কিন্তু আপনি কি জানেন? এই মাত্র নোংরা দেখায়. আমি সত্যিই একটি চান কিছু সাধারণ জ্ঞান. আর তোমার কাছ থেকে প্রত্যাহার করা হতে পারে উচ্চ বিদ্যালয় আছে সর্বোচ্চ মেয়াদের ধারণা. এই শর্তাবলীর মধ্যে কোনটি, এন ছক, এন, বা অর্ধেক, সময়ের সবচেয়ে প্রভাব রয়েছে? বড় এন, পায় যা এই বিষয়ে সবচেয়ে এর? অন্য কথায়, যদি আমি চলা লাখে, n ছক সম্ভবত হতে যাচ্ছে জাহাঁবাজ ফ্যাক্টর, একটি মিলিয়ন কারণ বার নিজেই অনেক বড় চেয়ে প্লাস এক অতিরিক্ত মিলিয়ন. তাই আপনি কি জানেন? এই ধরনের একটি অভিশাপ বড় সংখ্যা যদি আপনি একটি নম্বর বর্গক্ষেত্র যদি. এই সত্যিই কোন ব্যাপার না. আমরা শুধু ক্রস চলুন আউট এবং এটি প্রায় ভুলে যাওয়া. আর তাই একজন কম্পিউটার বিজ্ঞানী বলতে হবে যে এই অ্যালগরিদম দক্ষতা এন অনুক্রম হল squared-- আমি সত্যিই একটি পড়তা মানে. এটা ধরণের প্রায় n ছক. সময়ের সাথে সাথে, বড় এবং বড় এন, পায় এই কি জন্য একটি ভাল প্রাক্কলন হয় দক্ষতা বা দক্ষতা অভাব এই অ্যালগরিদম আসলে. আমি ব্যবহার্য গয়নাগাটি আহরণ কর যে, অবশ্যই, আসলে গণিত করছেন থেকে. কিন্তু এখন আমি শুধু waving করছি আমার হাত, কারণ আমি শুধু এই অ্যালগরিদম একটি সাধারণ অর্থে চান. তাই একই যুক্তি ব্যবহার করে, এদিকে, এর অন্য একটি অ্যালগরিদম বিবেচনা করা যাক আমরা ইতিমধ্যে at-- রৈখিক অনুসন্ধান লাগছিল. আমি যখন ছিল না ফোন বই জন্য এটা বাছাই না, অনুসন্ধানের ফোন বই মাধ্যমে আমরা এই বলে যে এটি ছিল রাখা 1,000 পদক্ষেপ, বা 500 ধাপ. কিন্তু এর যে সাধারণের বোধগম্য. তাহলে সেখানে N পৃষ্ঠাগুলি এর ফোন বই, কি চলমান সময় বা রৈখিক অনুসন্ধান দক্ষতা? এটা ক্রম উপর কতগুলি পদক্ষেপ এটি মাইক স্মিথ রৈখিক অনুসন্ধান ব্যবহার, প্রথম অ্যালগরিদম, বা এমনকি দ্বিতীয়? সবচেয়ে খারাপ ক্ষেত্রে, মাইক ইন বইয়ের শেষে হয়. তাই আপনি যদি ফোন বই 1,000 পৃষ্ঠা আছে, আমরা শেষ সময় বলেন, সবচেয়ে খারাপ ক্ষেত্রে, এটা মোটামুটিভাবে কিভাবে নিতে পারে অনেক পেজ মাইক এটি? 1,000 এর মতো. এটা একটি ঊর্ধ্বসীমা নেই. এটা একটা খারাপ সম্ভব অবস্থা. কিন্তু আবার, আমরা দূরে সরানোর করছি 1,000 এখন ভালো নম্বর থেকে. এটা ঠিক এর n. তাই যৌক্তিক উপসংহার কি? একটি ফোন মাইক খোঁজা বই এন পৃষ্ঠাগুলি আছে খুব খারাপ ক্ষেত্রে, নিতে পারে, কিভাবে অনেক n অনুক্রম পদক্ষেপ? এবং প্রকৃতপক্ষে একটি কম্পিউটার বিজ্ঞানী বলতে হবে যে সময় চলমান, বা কর্মক্ষমতা বা দক্ষতা বা অদক্ষতা, মত একটি অ্যালগরিদম একটি রৈখিক অনুসন্ধান এন অনুক্রম হল. এবং আমরা একই আবেদন করতে পারেন কিছু আউট পারাপারের যুক্তিবিজ্ঞান যেমন আমি শুধু দ্বিতীয় করেনি অ্যালগরিদম আমরা টেলিফোন বইয়ের সঙ্গে ছিল, যেখানে আমরা একটি সময়ে দুটি পৃষ্ঠা গেলেন. সুতরাং 1000 পাতা ফোন বই প্রতাপ আমাদের নিতে 500 পাতা উল্টায়, প্লাস এক যদি আমরা একটু ফিরে দ্বিগুণ. তাই আপনি যদি একটা ফোনবুক এন পৃষ্ঠাগুলি হয়েছে, কিন্তু আমরা একটি সময়ে দুটি পৃষ্ঠা করছেন, যে মোটামুটিভাবে কি? দুই এন, যাতে দুই এন মত. কিন্তু আমি দাবি করেছেন মুহূর্ত আগে two-- উপর যে এন যে শুধু এন হিসাবে একই ধরনের. এটি শুধু একটি ধ্রুবক ফ্যাক্টর, কম্পিউটার বিজ্ঞানীরা বলতেন. চলুন শুরু করা যাক শুধুমাত্র ফোকাস ভেরিয়েবল, সত্যিই সমীকরণ সবচেয়ে বড় ভেরিয়েবল. সুতরাং রৈখিক অনুসন্ধান, কিনা এক সম্পন্ন একটি সময়ে পৃষ্ঠা বা একটি সময়ে দুটি পৃষ্ঠা, সাজানোর মৌলিকভাবে একই. এটা n অনুক্রম এখনও. কিন্তু আমি আগে আমার ছবি দিয়ে দাবি তৃতীয় অ্যালগরিদম ছিল না যে রৈখিক. এটা একটি সরল রেখা ছিল না. এটা যে বাঁকা লাইন ছিল, এবং বীজগাণিতিক সেখানে সূত্র কি ছিল? n-- লোগ তাই এন বেস দুই লগ ইন করুন. আর আমরাও ঢোকা হবে না লগারিদমের উপর অনেক বিস্তারিত আজ, কিন্তু অধিকাংশ কম্পিউটার বিজ্ঞানী না would এমনকি আপনি বলুন কি বেস. সব কারণ এটা শুধু ধ্রুব কারণের, তাই কথা বলতে, শুধু সামান্য সাংখ্যিক পার্থক্য. তাই এই একটি খুব করাহবে বিশেষ করে আনুষ্ঠানিক কম্পিউটারের জন্য উপায় একটি বোর্ড বিজ্ঞানীরা বা একটি সাদা বোর্ড এ প্রোগ্রামারদের আসলে তর্ক যা অ্যালগরিদম তারা ব্যবহার করবে বা কি দক্ষতা তাদের আলগোরিদিম. আর এই অগত্যা কিছু নয় আপনি কোন মহান বিষদভাবে আলোচনা, কিন্তু একটি ভাল প্রোগ্রামার কেউ যারা একটি কঠিন, আনুষ্ঠানিক ব্যাকগ্রাউন্ড আছে. তিনি কথা বলতে সক্ষম আপনি পথ এই ধরনের এবং আসলে করা যেমন গুণগত আর্গুমেন্ট কেন এক অ্যালগরিদম বা সফ্টওয়্যার এক টুকরা অন্য কিছু উপায় হয় শ্রেয়. কারণ আপনি অবশ্যই পারা মাত্র এক ব্যক্তির প্রোগ্রাম চালানো এবং সেকেন্ডের সংখ্যা গণনা এটা কিছু সংখ্যা বাছাই লাগে, এবং আপনি কিছু চালাতে পারেন অন্যান্য ব্যক্তির প্রোগ্রাম সংখ্যা গণনা সেকেন্ডের লাগে. কিন্তু এই একটি সাধারণ উপায় হল যে আপনি আলগোরিদিম বিশ্লেষণ করতে ব্যবহার করতে পারেন, যদি আপনি হবে, শুধু কাগজ বা শুধু মৌখিকভাবে. ছাড়া এমনকি এটি চলমান ছাড়া এমনকি, নমুনা ইনপুট চেষ্টা আপনি শুধু এটা মাধ্যমে যুক্তি পারেন. আর তাই একজন বিকাশকারী বা যদি নিয়োগের সঙ্গে তাকে থাকার বা তার সাজানোর আপনি তর্ক কেন তাদের এলগরিদম, তাদের গোপন বিলিয়ান অনুসন্ধানের জন্য সস জন্য ওয়েব পেজ আপনার কোম্পানী, উত্তম এই আর্গুমেন্ট ধরণের হয় তারা আদর্শভাবে করতে সক্ষম হওয়া উচিত. বা অন্তত এই হল কিছু ধরণের এ আলোচনায় উঠে আসতে হবে, একটি খুব আনুষ্ঠানিক আলোচনায় অন্তত. ঠিক আছে. তাই বেন কিছু প্রস্তাব নির্বাচন সাজানোর বলা. কিন্তু আমি যে আছে উত্থাপন করতে যাচ্ছি এই খুব করছেন অন্য কোন উপায়ে. আমি কি সত্যিই ভালো লাগে নি বেন এর এলগরিদম সম্পর্কে যে সে হাঁটা রাখা, অথবা আমাকে হেটে রাখার, আগে পিছে এবং আগে পিছে এবং আগে পিছে. যদি এর পরিবর্তে আমি কি ছিল কি এই সংখ্যার এখানে মত কিছু এবং আমি শুধু একে মোকাবেলা করার ছিল সংখ্যা ঘুরে যেমন আমি দিয়েছি করছি? অন্য কথায়, এখানে সংখ্যার আমার তালিকা. চার, এক, তিন, দুই. আমি নিম্নলিখিত কাজ করতে যাচ্ছি. আমি নম্বর সন্নিবেশ করাতে যাচ্ছি যেখানে তারা বরং অন্তর্গত একটি সময়ে তাদের এক নির্বাচন চেয়ে. অন্য কথায়, এখানে সংখ্যা চার. এখানে আমার মূল তালিকা. আমি বজায় রাখার জন্য যাচ্ছি মূলত একটি নতুন এখানে তালিকা. তাই এই পুরাতন তালিকা. এই নতুন তালিকা. আমি চার নম্বর প্রথম দেখতে. আমার নতুন তালিকা প্রাথমিকভাবে খালি, তাই এটি trivially মামলা যে চার এখন তালিকা হরেক হয়. আমি শুধু, সংখ্যা আমি দেওয়া নিচ্ছি এবং আমি আমার নতুন তালিকায় এটা নির্বাণ করছি. এই নতুন তালিকা অনুসারে বাছাই করা হয়? হ্যা. এটা বোকামি মাত্র এক আছে, কারণ উপাদান, কিন্তু এটা একেবারে সাজানো. সেখানে জায়গা থেকে কিছুই নেই. এটা বেশি আকর্ষণীয়, এই অ্যালগরিদম, যখন আমি পরবর্তী ধাপে অগ্রসর. এখন আমি এক আছে. এক, তাই অবশ্যই, এ জন্যে প্রারম্ভে বা এই নতুন তালিকার শেষে? শুরু. তাই আমি এখন কিছু কাজ করতে হবে. আমি কিছু গ্রহণ করে থাকেন আমার মার্কারের সাথে স্বাধীনতাকে শুধু কিছু অঙ্কন দ্বারা যেখানে আমি তাদের চাই, কিন্তু যে সত্যিই না একটি কম্পিউটারে সঠিক. একটি কম্পিউটার, হিসাবে আমরা জানি, হয়েছে উপস্থিত RAM- র, বা র্যান্ডম অ্যাক্সেস মেমরি, এবং যে এক বাইট এবং অন্য বাইট এবং অন্য বাইট. আর যদি তোমরা এক গিগাবাইট আছে যদি উপস্থিত RAM- র, আপনি একটি বিলিয়ন বাইট আছে, কিন্তু তারা এক অবস্থান মধ্যে শারীরিকভাবে করছি. আপনি চারপাশে শুধু কাপড় সরাতে পারবেন না বোর্ডে এটি অঙ্কন দ্বারা যেখানেই থাকুন না কেন. তাই আপনি যদি আমার নতুন তালিকাও মেমরি চার অবস্থানগুলি, দুর্ভাগ্যবশত চারটি ইতিমধ্যে ভুল জায়গায়. সুতরাং সংখ্যা সন্নিবেশ করাতে এক আমি শুধু এটা এখানে আঁকতে পারছিনা. এই মেমরি অবস্থান অস্তিত্ব নেই. যে ঠকায় হবে, এবং আমি পছন্দ হয়েছে কয়েক মিনিটের জন্য pictorially প্রতারনা এখানে. সত্যিই তাই, আমি এখানে এক লাগাতে চান, আমি সাময়িকভাবে চার কপি আছে এবং তারপর এক সেখানে রাখা. আচ্ছা, যে সঠিক, যে টেকনিক্যালি সম্ভব, কিন্তু বুঝতে পারছি যে অতিরিক্ত কাজ. আমি শুধু জায়গায় সংখ্যা করা হয়নি. আমি প্রথম একটি অগ্রসর ছিল সংখ্যা, তারপর স্থানে রাখা, তাই আমি ধরনের কাজ এর আমার পরিমাণ দ্বিগুণ. সুতরাং, এটা মনে রেখো. কিন্তু আমি এখন এই উপাদান দিয়ে কাজ করছি. এখন আমি তিন নম্বর দখল করতে চান. যেখানে, অবশ্যই, এটা অংশভুক্ত? মাঝে. আমি আর প্রতারণা করতে পারবে না এবং শুধু এটি সেখানে রাখা, কারণ, আবার, এই মেমরি শারীরিক অবস্থানে রয়েছে. তাই আমি চার কপি আছে এবং এখানে তিন করা. তেমন কিছু না. এটা শুধু এক অতিরিক্ত পদক্ষেপ again-- খুব সস্তা মনে. কিন্তু এখন আমি দুই উপর সরানো. দুই, অবশ্যই, এখানে জন্যে. এখন আপনি কিভাবে দেখতে শুরু কাজ পাইল আপ করতে পারেন. এখন আমি কি করতে হবে? হ্যা, আমি চার সরানো আছে, আমি তখন তিন কপি আছে, এবং এখন আমি দুই সন্নিবেশ করতে পারেন. আর এই সঙ্গে ধরা অ্যালগরিদম, যথেষ্ট উত্সাহের ব্যাপার হল, যে আমরা একটি চরম আছে অনুমান করা হয় কেস যেখানে এটা আট, সাত বলে চলুন শুরু করা যাক, ছয়, পাঁচ, চার, তিন, দুই, এক. এই অনেক প্রেক্ষিতে, হয়, লক দৃশ্যকল্প, কারণ অভিশাপ জিনিস আক্ষরিক বিপরীত হয়ে গেছে. এটা সত্যিই না বেন এর এলগরিদম প্রভাবিত, কারণ বেনের নির্বাচন সাজান তিনি রাখা যাচ্ছে আগে পিছে তালিকা মধ্য দিয়ে যাচ্ছে. আর যেহেতু তিনি সর্বদা খুঁজছেন ছিল পুরো অবশিষ্ট তালিকা মাধ্যমে, এটা কোন ব্যাপার না যেখানে উপাদান. কিন্তু আমার ঢোকাতে সঙ্গে এই ক্ষেত্রে পদ্ধতির আসুন এই চেষ্টা. তাই এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট. এক দুই তিন চার, পাঁচ, ছয়, সাত, আট. আমি আট নিতে যাচ্ছি, এবং যেখানে আমি এটা করা? আচ্ছা, আমার তালিকা প্রারম্ভে, কারণ এই নতুন তালিকা অনুসারে বাছাই করা হয়. এবং আমি এটা ক্রুশ আউট. আমি সাত কোথায় রাখব? ধ্যাত্তেরি. এটা, সেখানে যাওয়ার দরকার তাই আমি কিছু কপি করা করতে হবে. এখন সাত এখানে যায়. এখন আমার বয়স ছয় উপর সরানো. এখন এটা আরও বেশি কাজ. আট এখানে যেতে হয়েছে. সাত এখানে যেতে হয়েছে. এখন ছয় এখানে যেতে পারেন. এখন আমি পাঁচটি দখল. এখন আট যেতে হয়েছে এখানে সাত এখানে যেতে হয়েছে, ছয় এখানে যেতে হয়েছে, এবং এখন পাঁচটি এবং পুনরাবৃত্তি. এবং আমি প্রায় কাছাকাছি আছি এটি ক্রমাগত চলন্ত. তাই শেষে এই অ্যালগরিদম আমরা করব এটি কল সন্নিবেশ আসলে সাজানোর কাজ অনেক, খুব হয়েছে. এটা শুধু আলাদা বেন এর চেয়ে কাজের ধরনের. বেন এর কাজ আমাকে যাচ্ছে ছিল আগে পিছে সব সময়, পরের ক্ষুদ্রতম নির্বাচন উপাদান আবার এবং আবার. তাই কাজের এই খুব চাক্ষুষ ধরনের ছিল. এই অন্যান্য অ্যালগরিদম, যা এখনও correct-- এটা কাজ পেতে হবে done-- শুধু কাজের পরিমাণ পরিবর্তন. দেখে মনে হচ্ছে প্রাথমিকভাবে তুমি মত সংরক্ষণ, কারণ আপনি ঠিক করছি প্রতিটি উপাদান মোকাবেলার সামনে সব হাঁটা ছাড়া বেন মত ​​তালিকা মাধ্যমে উপায় ছিল. কিন্তু সমস্যা হল, বিশেষ করে এই মধ্যে পাগল ক্ষেত্রে যেখানে এটা সব পিছন দিকে, আপনি শুধু ধরনের আছেন কঠোর পরিশ্রমের পিছিয়ে দিচ্ছেন যতক্ষণ না আপনি আপনার ভুল ঠিক করা আছে. তাই যদি আপনি এই কল্পনা করতে পারেন আট এবং সাত এবং ছয় ও পাঁচটি এবং পরে চার এবং তিনটি এবং দুই তালিকা মাধ্যমে তাদের পথ চলন্ত, আমরা শুধু পরিবর্তন করেছি কাজের ধরণ আমরা করছেন. পরিবর্তে এ এরকম আমার পুনরাবৃত্তির প্রারম্ভে, আমি শুধু এটা করছি প্রতি পুনরাবৃত্তির শেষে. সুতরাং এই অ্যালগরিদম যে সক্রিয় আউট, খুব সাধারণভাবে বলা সন্নিবেশ সাজানোর, অর্ডার n এর ছক নেভিগেশন হয়. এটা আসলে কোন ভাল, কোন ভাল এ সব. তবে, একটি তৃতীয় পদ্ধতির আমি আমাদের বিবেচনা করতে উৎসাহিত করবে, যা এই হল. তাই সরলতা জন্য আমার তালিকা অনুমান, আবার, চার, এক, তিন, মাত্র চারটি সংখ্যার two--. বেন, ভাল অনুভূতি ছিল ভাল মানুষের অনুভূতি সামনে, যার দ্বারা আমরা পুরো সংশোধন eventually-- সন্নিবেশ সাজানোর তালিকা. আমি আমাদের বরাবর coaxed. কিন্তু এর বিবেচনা করা যাক এই তালিকা ঠিক করার সবচেয়ে সহজ উপায়. এই তালিকা অনুসারে বাছাই করা হয় না. কেন? ইংরেজিতে ব্যাখ্যা কেন এটা আসলে সাজানো না. কি এটা না মানে সাজানো হবে? ছাত্র: এটা অনুক্রমিক না. DAVID Malan: অনুক্রমিক নয়. আমাকে একটি উদাহরণ দাও. ছাত্র: যাতে তাদের রাখুন. DAVID MALAN: ঠিক. আমার আরো একটি নির্দিষ্ট উদাহরণ দাও. ছাত্র: অর্ডার আরোহী. DAVID Malan: অর্ডার আরোহী নয়. আরও ভালো হবে. আমি আপনি আরোহী দ্বারা কি বোঝাতে চেয়েছেন জানি না. কোনো সমস্যা? ছাত্র: ক্ষুদ্রতম সংখ্যা প্রথম স্থান নয়. DAVID Malan: ক্ষুদ্রতম সংখ্যা এর প্রথম মহাকাশে. আরো নির্দিষ্ট করা. আমি ধরতে শুরু করছি. আমরা গণনা করছি, কিন্তু কি অর্ডার এখান থেকে বের করেন? ছাত্র: সংখ্যাসূচক ক্রম. DAVID Malan: সংখ্যাসূচক ক্রম. পালন সকলের সদয় এটা খুব উচ্চ পর্যায়ের এখানে. শুধু আক্ষরিক আমাকে বলতে কি একটি পাঁচ বছর বয়সী শক্তির মত ভুল. ছাত্র: প্লাস এক. DAVID Malan: ওটা কী? ছাত্র: প্লাস এক. DAVID Malan: কি আপনি প্লাস এক বলতে চাচ্ছো? আমাকে একটি ভিন্ন পাঁচটি বছর বয়সী দাও. ভুল, মায়ের কী? ভুল, বাবার কি? আপনি কি বলতে চাচ্ছেন এই সাজানো না হয়? ছাত্র: এটা সঠিক জায়গা নয়. DAVID Malan: কি না যথাস্থানে? ছাত্র: চার. ডেভিড MALAN: ঠিক আছে, ভাল. তাই চার যেখানে হবে না. বিশেষ করে, এই অধিকার? চার এবং এক, প্রথম দুই নম্বর দেখতে পাচ্ছি. ' এটা কী ঠিক? না, তারা অর্ডার ফুরিয়েছে, ঠিক আছে? বস্তুত, এখন মনে একটি কম্পিউটার সম্পর্কে খুব. এটা শুধুমাত্র হয়তো এক তাকান করতে পারেন, once-- এ হয়তো দুটি জিনিস এবং আসলে শুধুমাত্র এক জিনিস একটি সময়ে, কিন্তু এটা করতে পারেন অন্তত এক জিনিস তাকান তারপর ডান পাশে পরবর্তী জিনিস. তাই যাতে এরা কারা? অবশ্যই না. তাই আপনি কি জানেন? কেন আমরা শিশুর বন্ধুরূপে গ্রহণ করো না এই সমস্যা সমাধানে পদক্ষেপ পরিবর্তে এই অভিনব করছেন বেন, যেখানে মত আলগোরিদিম তিনি সাজানোর দ্বারা এটা ফিক্সিং এর তালিকা মাধ্যমে looping পরিবর্তে আমি কি করছেন, যেখানে এর আমরা যেতে হিসাবে আমি শুধু ধরনের এটি সংশোধন করা হয়েছে? এর ঠিক আক্ষরিক ভাঙ্গিয়া যাক ক্রম সংখ্যাসূচক ক্রম ধারণা, এটি কল যাই হোক না কেন আপনি want-- এই pairwise তুলনা মধ্যে. চার এবং এক. এই সঠিক অর্ডার আছে কি? সুতরাং আসুন যে ঠিক করি. এক এবং চার, এবং তারপর আমরা শুধু কপি করব যে. ঠিক আছে, ভাল. আমি এক এবং চার সংশোধন করা হয়েছে. তিন দুই? না. আমার কথা আমার আঙ্গুল মেলে দাও. চার এবং তিনটি? এটা যাতে না, তাই আমি যাচ্ছি এক, তিন, চার, দুই না. ঠিক আছে ভালো. এখন চার এবং দুই? আমরা এই খুব ঠিক করা প্রয়োজন. তাই এক, তিন, দুই, চার. সুতরাং এটা সাজানো হয়? বরং এটি কাছাকাছি সাজানো হয়? এটা, কারণ আমরা এই সংশোধন করা হয়েছে ভুল, আমরা এই ভুল সংশোধন করা হয়েছে, এবং আমরা এই ভুল সংশোধন করা হয়েছে. তাই আমরা তিন ভুল তর্কসাপেক্ষ সংশোধন করা হয়েছে. এখনও সত্যিই সাজানো হচ্ছে না, কিন্তু এটা বস্তুনিষ্ঠ সাজানো কাছাকাছি কারণ আমরা যারা ভুল কিছু সংশোধন করা হয়েছে. এখন আমি পরবর্তী কি করবেন? আমি ধরনের তালিকার শেষে পৌঁছে গেছেন. আমি স্থির করলো সব ভুল, কিন্তু কোন. কারণ এই ক্ষেত্রে, কিছু সংখ্যা ঘনিষ্ঠ আপ bubbled থাকতে পারে অন্যান্য নাম্বারে যে এখনও যাতে সীমার বাইরে. সুতরাং আসুন এটা আবার কি যাক, আমিও থাকব শুধু জায়গায় এই সময় এটা না. এক থেকে তিন? এটা ভাল. তিন দুই? অবশ্যই না, তাই এর যে পরিবর্তন করা যাক. সুতরাং দুই, তিন. তিন এবং চার? এখন আসুন শুধু হতে বিশেষ করে এখানে গোঁড়া. এটা সাজানো হয়? আপনি মানুষ চিনি এটা সাজানো. আমি আবার চেষ্টা করা উচিত. সুতরাং অলিভিয়া আমি আবার চেষ্টা প্রস্তাব করা হয়. কেন? একটি কম্পিউটার নেই কারণ আমাদের মানব চক্ষুর বিলাসিতা শুধু ফিরে যান ঠিক নেত্রপাত, আমি কাজ করছি. কিভাবে কম্পিউটার নির্ধারণ করে যে তালিকা এখন সাজানো হয়? মেকানিক্যালি. আমি মাধ্যমে যেতে হবে আরো একবার, এবং কেবল যদি আমি করতে না / কোন ভুল খুঁজে পাবেনা আমি তারপর, হাঁ কম্পিউটার হিসাবে শেষ, আমরা যেতে ভাল. তাই এক এবং দুই, দুই এবং তিন, তিন এবং চার. এখন আমি নিশ্চিতভাবেই বলতে পারি এই হল সাজানো কারণ আমি কোন পরিবর্তন করেছেন. এখন এটি একটি বাগ সংশোধন করা এবং শুধু হবে যদি নির্বোধ আমি, কম্পিউটার, ঐ একই প্রশ্ন জিজ্ঞাসা আবার বিভিন্ন উত্তর আশা. ঘটা উচিত নয়. আর তাই এখন তালিকা অনুসারে বাছাই করা হয়. দুর্ভাগ্যবশত, চলমান সময় এই অ্যালগরিদম এছাড়াও ছক n হয়. কেন? কারণ আপনি N সংখ্যা, এবং এ এতকিছুর পরও যদি আপনি n সংখ্যার সরানো আছে এন বার কারণ আপনি বর্তা আছে আবার চেক করতে এবং সম্ভাব্য ফিক্স এই সংখ্যার. এবং আমরা আরো একটি নির্বাচন করতে পারবেন আনুষ্ঠানিক বিশ্লেষণ, খুব. তাই এই বলে আমরা গ্রহণ করেছি সব তিনটি ভিন্ন পন্থা, এক তাদের অবিলম্বে স্বজ্ঞাত বেন থেকে বাদুড় বন্ধ আমার পরামর্শমতো সন্নিবেশ করতে এই এক করুনঃ যেখানে আপনি কোন ধরনের সংযোগ হারান গাছ প্রাথমিকভাবে জন্য বন. কিন্তু তারপর যদি তোমরা মুখ ফিরিয়ে একটি পদক্ষেপ গ্রহণ, , voila, আমরা বাছাই ধারণা সংশোধন করেছি. তাই এই হয়, সাহস বলে একটি নিম্ন স্তরের সম্ভবত যারা অন্যান্য কিছু বেশী আলগোরিদিম, কিন্তু আসুন দেখতে যদি আমরা ঠাহর করতে পারছি না এই প্রণালী দ্বারা এই. তাই এই কিছু সুন্দর সফ্টওয়্যার যে কেউ রঙিন বার যে ব্যবহার লিখেছেন আমাদের জন্য নিম্নলিখিত করতে যাচ্ছে. এই বার প্রত্যেকটি একটি সংখ্যা প্রতিনিধিত্ব করে. লম্বা দণ্ড, বড় সংখ্যা, ছোট বার, সংখ্যা ছোট. তাই মনে মনে আমরা একটা চমৎকার পিরামিড চান যেখানে এটা ছোট শুরু হয় এবং বড় পায়, এবং যে যে অর্থ হবে এই বার সাজানো হয়. তাই আমি এগিয়ে যান এবং পছন্দ করে যাচ্ছি উদাহরণস্বরূপ, বেন এর এলগরিদম প্রথম করতে নির্বাচন সাজানোর. এবং লক্ষ্য কি করছে. উপায় তারা চয়ন করেছেন এই অ্যালগরিদম ঠাহর করা যে, ঠিক মত আমি ছিল আমার তালিকা মাধ্যমে হাঁটা, এই প্রোগ্রাম হাঁটা হয় সংখ্যার তালিকায় মাধ্যমে, গোলাপী প্রতিটি হাইলাইট এটি এ খুঁজছেন সংখ্যা. আর এই মুহূর্তে ঘটতে বিষয়ে? ক্ষুদ্রতম সংখ্যা আমি বা বেন হঠাৎ পাওয়া তালিকার শুরুতে সরানো পরার. তাঁরা উচ্ছেদ করেনি বিজ্ঞপ্তি সংখ্যা যে ছিল, এবং যে পুরোপুরি সূক্ষ্ম. আমি বিস্তারিত যে স্তরের মধ্যে পান নি. কিন্তু আমরা লাগাতে হবে কোথাও যে সংখ্যা, তাই আমরা ঠিক করার জন্য এটা সরানো খোলা স্পট তৈরি করা হয়েছে যে. তাই আমি এই গতি যাচ্ছি আপ, কারণ অন্যথায়, এটি দ্রুত খুব ক্লান্তিকর হয়ে. অ্যানিমেশন সেখানে speed-- আমরা যেতে. তাই এখন একই নীতি আমি আবেদন করা হয়েছিল, কিন্তু আপনি আলগোরিদিম অনুভব করতে যদি আপনি শুরু করতে পারেন হবে, বা এটি একটি সামান্য আরো স্পষ্ট দেখতে পাবে. আর এই অ্যালগরিদম প্রভাব রয়েছে পরের ক্ষুদ্রতম উপাদান নির্বাচন, তাই আপনাকে শুরু করতে যাচ্ছেন এটা বাম দিকে ঢালু দেখতে. এবং প্রতিটি পুনরাবৃত্তির উপর, আমি যেমন প্রস্তাবিত, এটি একটি সামান্য কম কাজ করে. এটা সব পথ যেতে হবে না ফিরে তালিকার বাম শেষ, কারন ওটি ইতিমধ্যেই সেই সাজানো হয় জানে না. তাই এটা কোন ধরনের মতানুযায়ী এটা ভালো ত্বরক, যদিও প্রতিটি ধাপ সময় একই পরিমাণ গ্রহণ. আছে শুধু কিছু ধাপেই অবশিষ্ট নেই. এবং এখন আপনি যে ধরনের বোধ করতে পারে অ্যালগরিদম এটা শেষে পরিষ্কার আপ, এবং প্রকৃতপক্ষে এখন এটা সাজানো. তাই সন্নিবেশ সাজানোর সব সম্পন্ন করা হয়. আমি অ্যারে পুনরায় Randomize প্রয়োজন. এবং লক্ষ্য করা আমি শুধু পারেন এটা randomizing রাখা, এবং আমরা একটি সন্নিকর্ষ পাবেন একই পদ্ধতির, সন্নিবেশ সাজানোর. আমাকে এটা এখানে মন্দীভূত করা যাক. এর যে নতুন করে শুরু করা যাক. বন্ধ করুন. এর চার লাফালাফি করা. আমরা শুরু করছি. তারা অ্যারে Randomize. আর এখানে আমরা সন্নিবেশ সাজানোর go--. খেলুন. লক্ষ করুন যে, এটা প্রতিটি মোকাবেলার হচ্ছে উপাদান এটি সরাসরিভাবে encounters, কিন্তু যদি এটা জন্যে ভুল জায়গায় নোটিশ কাজ ঘটতে পারে এমন সব. আমরা আরো নাড়াচাড়া রাখতে হবে এবং আরো উপাদান রুম করা এক জন্য আমরা জায়গায় লাগাতে চান. তাই আমরা উপর মনোযোগ নিবদ্ধ করছি শুধুমাত্র তালিকার বাম শেষ. বিজ্ঞপ্তি এমনকি আমরা at-- লাগছিল না গোলাপী কিছু হাইলাইট নি ডানদিকে. আমরা শুধু সঙ্গে লেনদেন করছেন সমস্যা আমরা যেতে হিসাবে, কিন্তু আমরা অনেকটা তৈরি করছেন এখনও নিজেদের জন্য কাজ. এবং আমরা এই গতি তাই যদি এখন সমাপ্তির যেতে, এটা প্রকৃতপক্ষে এটি একটি ভিন্ন মনে হয়েছে. এটা শুধু বাম শেষ উপর মনোযোগ নিবদ্ধ করে কিন্তু needed-- হিসাবে একটু বেশি কাজ করছেন মসৃণকরণ কিছু ধরনের উপর, কিছু ফিক্সিং, কিন্তু সঙ্গে চূড়ান্তভাবে মোকাবেলার একটি সময়ে প্রতিটি উপাদান এক যতক্ষণ না আমরা ভাল the-- পেতে, আমরা সব জানি কিভাবে এই শেষ হয়ে যাচ্ছে, তাই এটি একটি সামান্য underwhelming সম্ভবত নেই. কিন্তু end-- মধ্যে তালিকা spoiler-- সাজানো হতে যাচ্ছে. সুতরাং আসুন গত এক তাকান. আমরা এইমাত্র লাফালাফি করতে পারবেন না. প্রায় এসে পড়েছি. দুই যেতে, এক যেতে. এবং voila. চমৎকার. তাই এখন এক গত এক কাজ করা যাক, পুনরায় randomizing বুদ্বুদ সাজানোর সঙ্গে. এবং এখানে লক্ষ্য করা, বিশেষত যদি আমি এটা মন্থর নিচে, এই মাধ্যমে নামছে রাখে. কিন্তু লক্ষ্য করা এটি শুধু pairwise তোলে স্থানীয় সমাধান comparisons-- সাজানোর. কিন্তু যত তাড়াতাড়ি আমরা পেতে যেমন গোলাপী তালিকার শেষে, কি আবার ঘটতে আছে যাচ্ছে? হ্যা, এটি আছে যাচ্ছে নতুন করে শুরু, কারণ এটা শুধুমাত্র নির্দিষ্ট pairwise ভুল. আর যে এখনো অন্যদের অবতীর্ণ করেছি পারে. তাই যদি আপনি এই গতি, আপনি যা করবেন দেখতে যে, অনেক নাম থেকেই বোঝা যায়, ছোট উপাদানের বা বরং, বৃহত্তর উপাদানের শুরু হয় বুদ্বুদ টপ আপ, যদি আপনি হবে. এবং ছোট উপাদান বুদ্বুদ শুরু বামে নিচে. এবং প্রকৃতপক্ষে, যে ধরনের এর পাশাপাশি ভিজ্যুয়াল ইফেক্ট. আর তাই এই শেষ হবে শেষ একটি অনুরূপ ভাবে, খুব যে. আমরা বাস করতে সক্ষম হবে না এই বিশেষ এক. আমাকে এই এখন খুব খুলুন. সেখানে কয়েক অন্যান্য বাছাই আলগোরিদিম এর বিশ্বের, যা কয়েক এখানে বন্দী করা হয়. আর বিশেষত শিক্ষার্থীদের জন্য যারা না হয় অগত্যা চাক্ষুষ বা গাণিতিক, যেমন আমরা আগে কি আমরা করতে পারেন এছাড়াও audially এই না আমরা এই সঙ্গে একটি শব্দ শরীক করে. একটি এবং শুধু মজা করার জন্য, এখানে কয়েক বিভিন্ন আলগোরিদিম, বিশেষ করে তাদের এবং এক তুমি লক্ষ্য করা বলা হয় যাচ্ছে "একত্রীকরণ সাজানোর." এটা আসলে একটি মৌলিকভাবে হয় ভাল অ্যালগোরিদম, যেমন যে সাজানোর একত্রীকরণ, এক বেশী আপনি দেখতে চলেছেন, n এর অর্ডার বর্গ নয়. এটা অর্ডার এন বার লগ ইন করুন উপর এন, যা আসলে ছোট এবং এইভাবে ঐ তিনটি তুলনায় দ্রুততর. সেখানে একটি দম্পতি নিরীহ বেশী যে আমরা দেখতে পাবেন. তাই আমরা এখানে কিছু শব্দ দিয়ে যেতে. এই সন্নিবেশ সাজানোর, তাই আবার হয় এটা শুধু উপাদানের সঙ্গে আচরণ করছে তারা আসা হিসাবে. এই বুদ্বুদ সাজানোর, তাই এটা একটি সময়ে তাদের বিদ্যমান জোড়া বিবেচনা. এবং আবার, সবচেয়ে বড় উপাদান শীর্ষ হয় সাড়া জাগানো. পরবর্তী আপ নির্বাচন সাজানোর. এই বেন এর এলগরিদম, কোথায় আবার তিনি iteratively এই নির্বাচন হচ্ছে পরের ক্ষুদ্রতম উপাদান. এবং আবার, এখন আপনি সত্যিই যে শুনতে পারেন এটা দ্রুত গাড়ী চালানোর আপ কিন্তু শুধুমাত্র এতদূর মধ্যে যেমন কম করছে প্রতিটি পুনরাবৃত্তির উপর কাজ. এই দ্রুত এক, সাজানোর একত্রীকরণ, সংখ্যার ক্লাস্টার বাছাই করা হয়, যা একসঙ্গে এবং তারপর তাদের মিশ্রন. সুতরাং বাম look-- অর্ধেক ইতিমধ্যেই সাজানো হয়. এখন এটা ডান অর্ধেক বাছাই, এবং এখন এটা তাদের এক একত্রিত যাচ্ছে. এইটি এমন কিছু বিষয় বলা হয় ", Gnome সাজানোর." এবং আপনি দেখতে পারেন ধরনের যে এটা, আগে পিছে যাচ্ছে একটি সামান্য বিট কাজ করবে তা এখানে ফিক্সিং এবং সেখানে আগে এটা নতুন কাজ আয়. এবং এটাই. আরেকটা সাজানোর আছে যা সত্যিই শুধু একাডেমিক কাজের জন্য, "মূঢ় সাজানোর," যা লাগে বলা আপনার ডেটা, এটি এলোমেলোভাবে বাছাই করে, এবং তারপর পরীক্ষা করে সাজানো হয়. আর যদি তা না হয়, এটা পুনরায় অসুস্থ এটা এলোমেলোভাবে, পরীক্ষা করে সাজানো, এবং যদি পুনরাবৃত্তি না. আর তত্ত্বে, সম্ভাব্য এই, সম্পন্ন হবে কিন্তু বেশ সময় একটি বিট পর. এটা সবচেয়ে নয় আলগোরিদিম দক্ষ. যাদের উপর তাই কোন প্রশ্ন বিশেষ অ্যালগরিদম বা কিছু সেখানে খুব সম্পর্কিত? আচ্ছা যাক, এখন এর কি সব সরাইয়া জ্বালাতন এই লাইনগুলো যে আমি অঙ্কন করা হয়েছে করেছি এবং কি আমি কম্পিউটার অভিমানী করছি ফণা নীচে নির্বাচন করতে পারবেন. আমি তর্ক করবে এই সংখ্যার সকল যে আমি তারা পেতে প্রয়োজন drawing-- রাখা কোথাও মেমরি সংরক্ষণ করা হয়. আমরা এই লোক পরিত্রাণ এখন খুব পাবেন. একটি মেমরি তাই একটি টুকরা কম্পিউটারের তাই র্যাম DIMM হয় কি আমরা গতকাল, ডুয়াল অনুসন্ধান ইনলাইন মেমরি module-- ভালো দেখায়. আর এই সামান্য কালো চিপ প্রতিটি বাইট কিছু সংখ্যা, সাধারণত হয়. তারপর সোনার পিনের মত পুতুল এটি কম্পিউটারের সাথে সংযুক্ত, এবং সবুজ সিলিকোন বোর্ড ঠিক হয় কি সব একসঙ্গে রাখে. তাই এই সত্যিই কি মানে? আমি এই ধরনের একই ছবি আঁকা হলে, এর সরলতা জন্য অনুমান করা যাক যে এই DIMM, দ্বৈত ইনলাইন মেমরি মডিউল, উপস্থিত RAM- র এক গিগাবাইট, এক গিগাবাইট হয় স্মৃতি, যা কতগুলি বাইট মোট? এক গিগাবাইট কত বাইট? এর চেয়েও বড় কথা. 1,124 কিলো, 1,000. মেগা মিলিয়ন. গিগা একটি বিলিয়ন. আমি শুয়ে আছি? আমরা এমনকি ট্যাগ পড়তে পারেন? এটি আসলে 128 হয় গিগাবাইট, তাই এটি বেশি. কিন্তু আমরা এই সাজা করব মাত্র এক গিগাবাইট হয়. সুতরাং তার মানে সেখানে একটি বিলিয়ন মেমরি বাইট আমার পাওয়া যায় অথবা 8 বিলিয়ন বিট, কিন্তু আমরা যাচ্ছি বাইট পরিপ্রেক্ষিতে এখন কথা বলার জন্য, অগ্রসর হচ্ছে. তাই কি যে মানে এই নয় এক বাইট, এই অন্য বাইট, এই অন্য বাইট, এবং যদি আমরা সত্যিই চেয়েছিলেন নির্দিষ্ট আমরা করতে হবে হবে একটি বিলিয়ন সামান্য স্কোয়ার আঁকা. কিন্তু এর অর্থ কি? আচ্ছা, আমাকে শুধু জুম যাক এই ছবি তে মধ্যে. আমি কিছু পেয়েছেন যে দেখায় এই এখন মত, যে চার বাইট. এবং তাই আমি চার নম্বর এখানে লাগাতে পারে. এক দুই তিন চার. অথবা আমি চার অক্ষর বা চিহ্ন লাগাতে পারে. "হেই!" ওখানেই যেতে পারে, অক্ষর প্রতিটি কারণ, আমরা আগেই আলোচনা করা, প্রতিনিধিত্ব করা যেতে পারে আট বিট বা ASCII বা একটি বাইট সঙ্গে. তাই অন্য কথায়, আপনি যা করতে পারেন 8 বিলিয়ন কিছু ভিতরে রাখা মেমরি এই এক লাঠি. এখন কি এটা কিছু প্রতিহত করা মানে এই মত মেমরি ব্যাক ব্যাক? এই কি একটি প্রোগ্রামার একটি "অ্যারে." কল করবে একটি কম্পিউটার প্রোগ্রাম, আপনি কি মনে করেন না অন্তর্নিহিত হার্ডওয়্যার সম্পর্কে, কোনটাই. আপনি শুধু নিজের মনে যেমন হচ্ছে একটি বিলিয়ন বাইট মোট প্রবেশাধিকার, এবং আপনি আপনি এটি দিয়ে কিছু করতে চান করতে পারেন. কিন্তু সুবিধার জন্য এটা সাধারণত উপযোগী আপনার মেমরি ঠিক রাখার এই মত একে অপরের পাশে. সুতরাং যদি আমি আপাততঃ জুম কারণ আমরা অবশ্যই যাচ্ছেন না একটি বিলিয়ন সামান্য squares-- আঁকা ধরা যাক, এই বোর্ড প্রতিনিধিত্ব করে মেমরি যে লাঠি এখন. আর আমি শুধু হিসাবে অনেক আঁকব আমার মার্কার আমাকে এখানে দেবার শেষ পর্যন্ত. তাই এখন আমরা একটি লাঠি আছে বোর্ডে মেমরি যে পেয়েছিলাম এক, দুই, তিন, চার, পাঁচ, ছয়, এক, দুই, তিন, চার, পাঁচ, ছয়, তাই 42 বাইট seven-- পর্দা মোট মেমরি. ধন্যবাদ. হ্যাঁ, আমার গাণিতিক অধিকার করেছিল. এখানে মেমরি তাই 42 বাইট. তাই এই আসলে এর অর্থ কী? ওয়েল, একটি কম্পিউটার প্রোগ্রামার আসলে সাধারণত would Addressable হিসাবে এই মেমরি মনে. অন্য কথায়, এই প্রতিটি এক মেমরি অবস্থানগুলি, হার্ডওয়্যারে, একটি অনন্য ঠিকানা রয়েছে. এটা এক ঘর্ঘর শব্দ যত জটিল নয় স্কয়ার, কেমব্রিজ, গণ., 02138. পরিবর্তে, এটা ঠিক একটি সংখ্যা. এই বাইট সংখ্যা শূন্য, এই হল এক, এই দুই, এই তিনটি হল, এবং এই 41. একটি মিনিট অপেক্ষা করুন. আমি ভেবেছিলাম আমি 42 বলেছেন একটি মুহূর্ত আগে. আমি শূন্য এ গণনা শুরু, তাই আসলে সঠিক নয়. এখন আমরা আসলে এটা আঁকা হবে না একটি গ্রিড হিসাবে, এবং আপনি এটা একটি গ্রিড হিসাবে আঁকা যদি আমি কিছু মনে করছে একটু বিভ্রান্তিকর পেতে. কি একজন প্রোগ্রামার would, তার বা তার নিজের মনের মধ্যে, সাধারণত এই মনে মেমোরি হিসেবে শুধু একটি টেপ মত হল, মাস্কিং টেপ এক টুকরা মত যে শুধু উপর এবং চিরকাল যায় অথবা আপনি মেমরি রান আউট না হওয়া পর্যন্ত. তাই আরো একটি সাধারণ পথ আঁকা এবং শুধু মেমরি সম্পর্কে চিন্তা হতে পারে যে, এই বাইট শূন্য, এক, দুই, তিন, এবং তারপর বিন্দু, বিন্দু, বিন্দু. এবং আপনি 42 ধরনের বাইট মোট আছে, এমনকি যদিও শারীরিকভাবে এটা আসলে প্রতাপ এই মত আরো কিছু হতে. তাই আপনি যদি এখন মনে আপনার স্মৃতি এই যেমন, শুধু একটি টেপ মত, এই কি একজন প্রোগ্রামার আবার মেমরি একটি অ্যারের কল করবে. এবং আপনি আসলে এ সঞ্চয় করতে চান যখন একটি কম্পিউটার এর মেমরি কিছু, আপনি সাধারণত দোকান জিনিষ কি ব্যাক টু ব্যাক ব্যাক-টু-ব্যাক করার. সুতরাং আমরা সংখ্যা সম্পর্কে কথা বলা হয়েছে. আর সমস্যা সমাধানের জন্য যখন আমি চেয়েছিলাম মত চার, এক, তিন, দুই, এমনকি আমি শুধু অঙ্কন করা হয়, যদিও শুধুমাত্র সংখ্যা চার, এক, তিন, বোর্ডে দুই, কম্পিউটার would সত্যিই স্মরনার্থে সেটআপ আছে. এবং কি পরের হতে হবে কম্পিউটার এর মেমরি দুই? আচ্ছা, এখানে যে কোন উত্তর. আমরা সত্যিই জানি না. তাই যতদিন কম্পিউটার এটা দরকার নেই, এটা যত্ন নেওয়ার জন্য পরবর্তী কি নেই সংখ্যা এটি সম্পর্কে যত্ন করে. আর যখন আমি আগে একটি কম্পিউটার যে বলেন শুধুমাত্র একটি সময়ে এক ঠিকানায় সন্ধান করতে পারেন, এই কেন এর ধরনের. না একটি রেকর্ড অসদৃশ খেলোয়াড় এবং একটি পড়া মাথা শুধুমাত্র একটি নির্দিষ্ট সময়ে পর্যবেক্ষণ করতে সক্ষম হচ্ছে একটি শারীরিক পুরোনো স্কুল রেকর্ডে খাঁজ একটি সময়ে, একভাবে একটি কম্পিউটার ধন্যবাদ পারেন তার সিপিইউ এবং তার থেকে ইন্টেল নির্দেশনাবলী, যার নির্দেশ মধ্যে স্মৃতি থেকে পাঠ করা হয় অথবা একটি মেমরি সংরক্ষণ কম্পিউটার শুধুমাত্র সন্ধান করতে পারেন একটি time-- এ এক অবস্থানে কখনও কখনও তাদের সংমিশ্রণ, কিন্তু একটি সময়ে সত্যিই শুধু একটা অবস্থান. সুতরাং যখন আমরা করছিলে এইসব বিভিন্ন আলগোরিদিম, আমি শুধু একটি লেখা করছি না vacuum-- চার, এক, তিন, দুই. ঐ সংখ্যার আসলে অন্তর্গত কোথাও মেমরি শারীরিক. তাই সেখানে ক্ষুদ্র ক্ষুদ্র ট্রানজিস্টর অথবা কিছু নীচে ইলেকট্রনিক্স ফণা এই সংরক্ষণকারী মান. আর মোট, কতগুলি বিট এখনই জড়িত, শুধু থেকে পরিষ্কার হতে? তাই এই চার বাইট, বা এখন এটা 32 বিট মোট আছে. তাই সেখানে আসলে 32 টা শূন্য হয় এবং এই চারটি জিনিস কম্পোজ বেশী. এখানে ওভার আরও বেশি, কিন্তু আবার আমরা যে যত্ন সম্পর্কে না. তাই এখন আমি অন্য জিজ্ঞাসা করা যাক মেমরি ব্যবহার করে প্রশ্ন, কারণ যে শেষে দিন ভ্যারিয়েন্স হয়. কোন ব্যাপার কি আমরা সঙ্গে কাজ করতে পারে কম্পিউটার, দিনের শেষে হার্ডওয়্যার এখনও ফণা নীচে একই. কীভাবে আমি এখানে একটি শব্দ সংরক্ষণ করবে? ওয়েল, একটি কম্পিউটার একটি শব্দ ভালো "আরে!" শুধু এই মত সঞ্চয় করতে পারা যাবে. আর যদি আপনি একটি লম্বা চেয়েছিলেন শব্দ, আপনি কেবল পারেন ওভাররাইট করে এবং কিছু বলতে "হ্যালো" এবং দোকান যে এখানে মত. তাই এখানে, খুব, এই contiguousness , আসলে একটি সুবিধা হল কারণ একটি কম্পিউটার ঠিক করতে পারেন ডান থেকে বাম থেকে পড়া. কিন্তু এখানে একটি প্রশ্ন. এই শব্দের প্রসঙ্গে জ-ই-ঠ-ঠ-ণ, বিস্ময়বোধক বিন্দু, কিভাবে কম্পিউটার জানতে পারে যেখানে শব্দ শুরু হয় এবং যেখানে শব্দ শেষ হয়? সংখ্যার প্রসঙ্গে কিভাবে কম্পিউটার আছে জানি কতদিন ক্রম সংখ্যার বা যেখানে এটা শুরু হয়? ওয়েল, এটা out-- সক্রিয় এবং আমরা খুব বেশি যেতে হবে না detail-- এই স্তরের মধ্যে কম্পিউটারের মেমরিতে প্রায় কাপড় সরাতে আক্ষরিক এই ঠিকানাগুলির উপায় দ্বারা. একটি কম্পিউটারে তাই, তুমি যদি কিছু সঞ্চয় করতে কোড লেখা শব্দের মত, আপনি কি করছেন সত্যিই করছেন টাইপ করছে এক্সপ্রেশন যে যেখানে স্মরণ কম্পিউটার এর মেমরি কথা থাকে. তাই আমাকে একটি খুব কাজ করা উচিত, খুব সহজ উদাহরণ. আমি এগিয়ে যান যাচ্ছি এবং একটি সহজ টেক্সট প্রোগ্রাম খুলুন, এবং আমি তৈরী করতে যাচ্ছি একটি ফাইল hello.c বলা হয়. এই তথ্য অধিকাংশকে মহান বিষদভাবে মধ্যে যেতে হবে না, কিন্তু আমি একটি লিখতে যাচ্ছি যে একই ভাষায় প্রোগ্রাম, সি এ অনেক বেশী ভয় হয়, আমি তর্ক করবে, স্ক্র্যাচ চেয়ে, কিন্তু এটা আত্মা খুব অনুরূপ. বস্তুত, এই তরঙ্গায়িত ধরনের ধনুর্বন্ধনী আপনি যা করতে পারেন কি আমি ঠিক এই যেমন করেনি মনে. এর এই কাজটি কি আসলে, যাক. যখন সবুজ পতাকা ক্লিক করেন, নিম্নলিখিত কাজগুলো. আমি প্রিন্ট আউট করতে চান "হ্যালো." সুতরাং এখন এই pseudocode কি. আমি ধরনের লাইন অস্পষ্টতা করছি. সি, এই ভাষা আমি কথা বলছি সম্পর্কে, এই লাইন মুদ্রণ হ্যালো আসলে সঙ্গে "printf," হয়ে কিছু প্রথম বন্ধনী এবং একটি সেমিকোলন. কিন্তু এটা সঠিক একই ধারণা. এবং এই খুব ব্যবহারকারী বন্ধুত্বপূর্ণ "যখন সবুজ পতাকা ক্লিক" হয়ে অনেক বেশি রহস্যময় "int প্রধান অকার্যকর." এবং এই সত্যিই কোন ম্যাপিং হয়েছে, তাই আমি ঠিক যে উপেক্ষা করা যাচ্ছে না. কিন্তু কোঁকড়া ধনুর্বন্ধনী মত এই মত বাঁকা পাজল টুকরা. সুতরাং আপনি যে ধরনের পারেন অনুমান. এমনকি যদি আপনি আগে কখনও প্রোগ্রাম করেছি, কি এই প্রোগ্রামটি কাজ করে? সম্ভবত হ্যালো ছাপে একটি বিস্ময়বোধক বিন্দু সঙ্গে. সুতরাং আসুন চেষ্টা করে দেখি. আমি এটি সংরক্ষণ করতে যাচ্ছি. এবং এই হল, আবার, একটি খুব পুরানো স্কুল পরিবেশ. আমি ক্লিক করতে পারবেন না, আমি টেনে নিয়ে করতে পারবেন না. আমি কমান্ড টাইপ করতে হবে. তাই আমি আমার প্রোগ্রাম চালাতে চান, তাই আমি hello.c মত এই কাজ করতে পারে. যে ফাইল আমি ছুটে গেলেন. তবে অপেক্ষা করুন, আমি একটি পদক্ষেপ অনুপস্থিত করছি. কী করেছিলেন আমরা বলি একটি প্রয়োজনীয় সি এর মত একটি ভাষা জন্য ধাপে? লিখলাম সোর্স কোড, কিন্তু কি আমি প্রয়োজন? হ্যা, আমি একটি কম্পাইলার প্রয়োজন. একটি তাই এখানে আমার ম্যাক উপর, আমি আছে প্রোগ্রাম নামক জিসিসি গনু কম্পাইলার, যা আমাকে আপাততঃ পালা করতে পারবেন আমার সোর্স কোড, আমরা এটা ডাকবো, মেশিন কোড. আর আমি দেখতে পারেন, আবার, নিম্নরূপ, এই zeros এবং বেশী আমি শুধু আমার সোর্স কোড থেকে সৃষ্টি করেছেন, zeros এবং বেশী সব. আর আমি চালাতে চান তাহলে আমার প্রোগ্রাম ঘটনাচক্রে জন্য a.out নামে করা ঐতিহাসিক reasons-- "হ্যালো." আমি এটা আবার চালাতে পারেন. হ্যালো হ্যালো হ্যালো,. এবং এটা কাজ বলে মনে হয়. কিন্তু যে কোথাও মানে আমার কম্পিউটার এর মেমরি শব্দ হয় জ-ই-ঠ-ঠ-ণ, বিস্ময়বোধক বিন্দু. আর একপাশে শুধু একটি হিসাবে দেখা যাচ্ছে, কি একটি কম্পিউটার সাধারণত would যাতে এটা জানে না যেখানে কিছু শুরু এবং end-- এটা এখানে একটি বিশেষ প্রতীক করা যাচ্ছে. আর সম্মেলনের করা হয় একটি শব্দের শেষে সংখ্যা শূন্য যাতে তোমরা জানতে এটি যেখানে আসলে শেষ, যাতে আপনি আরো এবং আরো কিছু প্রিন্ট আউট রাখা না তোমার চেয়ে অক্ষর আসলে অভিপ্রায়. কিন্তু এখানে takeaway, এমনকি যদিও এই মোটামুটি রহস্যময়, এটি শেষ পর্যন্ত হয় অপেক্ষাকৃত সহজ. আপনি একটি টেপ সাজানোর দেওয়া হয়েছিল, একটি ফাঁকা স্থান, যার উপর আপনি অক্ষর লিখতে পারেন. আপনি কেবল একটি আছে বিশেষ চিহ্ন, ইচ্ছামত চাই সংখ্যা শূন্য, শেষে করা আপনার শব্দ যাতে কম্পিউটার জানে, ওহ, আমি পরে মুদ্রণ বন্ধ করা উচিত আমি বিস্ময়বোধক বিন্দু দেখতে. কারণ পরের জিনিস শূন্য একটি ASCII মান, অথবা নাল অক্ষর কেউ এটা কল করবে. কিন্তু একটা সমস্যা ধরনের এখানে, এবং এর পিছনে প্রত্যাবর্তন দিন একটি মুহূর্ত জন্য নাম্বারে. ধরুন আমি কি যে, আসলে, , সংখ্যার একটি অ্যারে আছে এবং যে অনুমান করা প্রোগ্রাম আমি লিখছি হয় একজন শিক্ষকের জন্য একটি গ্রেড বই মত এবং একটি ক্লাসরুমে. এবং এই প্রোগ্রামটি তার পারবেন তাদের ছাত্র 'স্কোর টাইপ করার জন্য ক্যুইজ উপর. এবং যে ছাত্র পায় অনুমান 100 তাদের প্রথম ব্যঙ্গ, হয়তো পরবর্তী এক একটি 80, তারপর একটি মত 75, তারপর চতুর্থ ব্যঙ্গ 90. তাই গল্প এই সময়ে, অ্যারে চার আকারের হয়. ওখানে একেবারে আরো মেমরি কম্পিউটার, কিন্তু অ্যারে, তাই কথা বলতে, চার আকারের হয়. এখন ধরুন, শিক্ষক চায় ক্লাসে পঞ্চম ব্যঙ্গ দায়িত্ব অর্পণ করা. আচ্ছা, সে বা সে কি করতে আছে যাচ্ছে এখন এখানে একটি অতিরিক্ত মান সংরক্ষণ করা হয়. কিন্তু অ্যারে যদি টিচার হয়েছে এই প্রোগ্রামের মধ্যে সৃষ্টি করেছেন, এর জন্য আকার একটি অ্যারের সঙ্গে সমস্যা এক হয় আপনি শুধু মেমরি জোড়ার রাখতে পারবেন না. কারণ কি যদি অন্য অংশে প্রোগ্রাম শব্দ "হেই" ওখানেই হয়েছে? অন্য কথায়, আমার স্মৃতি হতে পারে একটি প্রোগ্রাম যা কিছু ব্যবহার করা. আর যদি আগাম আমি টাইপ করা, হেই, আমি ইনপুট চার ব্যঙ্গ স্কোর করতে চাই, তারা এখানে এবং এখানে যেতে পারে. আর যদি আপনি হঠাৎ আপনার মন পরিবর্তন পরে বলে আমি একটি পঞ্চম ব্যঙ্গ চান স্কোর, আপনি শুধু না পারেন এটা করা যেখানেই আপনি চান, কারণ কি এই যদি মেমরি ব্যবহার করা হচ্ছে কিছু কিছু অন্যান্য প্রোগ্রাম else-- বা প্রোগ্রাম কিছু অন্যান্য বৈশিষ্ট্য আপনি চালাচ্ছেন যে? সুতরাং আপনি আগাম চিন্তা করতে হবে কিভাবে আপনি আপনার তথ্য সংরক্ষণ করতে চান, কারণ এখন আপনি আঁকা করেছি নিজেকে একটি ডিজিটাল কোণার মধ্যে. সুতরাং একজন শিক্ষকের পরিবর্তে প্রতাপ বলে যখন একটি প্রোগ্রাম লেখা সঞ্চয় করতে তার বাংলাদেশের, আপনি জানেন কি? আমি অনুরোধ করতে যাচ্ছি যখন আমার প্রোগ্রাম লেখা, আমি চাই যে শূন্য, এক, দুই, তিন, চার, পাঁচ, ছয়, আট বাংলাদেশের মোট. তাই এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট. শিক্ষক মাত্র ওভার ধার্য করতে পারবেন স্মৃতি যখন তার প্রোগ্রাম লেখা এবং আপনি জানেন কি বলে? আমি আরো ধার্য করতে যাচ্ছি একটি সেমিস্টারে আট ক্যুইজ চেয়ে. যে শুধু পাগলামি. আমি বরাদ্দ করব যে. তাই তিনি বা সে যে এই পথ দোকান ছাত্র স্কোর নমনীয়তা, 75, 90, এবং হয়ত এক অতিরিক্ত যেখানে মত ছাত্র, 105 অতিরিক্ত ক্রেডিট পেয়েছিলাম. কিন্তু যদি শিক্ষকের কখনোই এই তিনটি স্পেস ব্যবহার, এখানে একটি স্বজ্ঞামূলক takeaway এর. তিনি শুধু স্পেস নষ্ট করা হয়. তাই অন্য কথায়, সেখানে যদি এই প্রোগ্রামিং সাধারণ tradeoff যেখানে আপনি হয় ধার্য করতে পারবেন ঠিক যতটা মেমরি হিসাবে আপনি চান, যার গোলমালে যে আপনি সুপার করছি efficient-- আপনি অযথা থাকছো না এ all-- কিন্তু যার downside হয় কি আপনি আপনার মন যখন পরিবর্তন করে প্রোগ্রাম যে আপনি সংরক্ষণ করতে ইচ্ছুক ব্যবহার আপনি আরো বেশী তথ্য মূলত অভিপ্রেত. তাই হয়তো সমাধান, তারপর, এমনভাবে আপনার প্রোগ্রাম লিখতে যে তারা আরো মেমরি ব্যবহার চেয়ে তারা আসলে প্রয়োজন. এই ভাবে আপনি যাচ্ছেন না যে সমস্যা পাতিত করা, কিন্তু আপনি অযথা হচ্ছে. এবং আরো মেমরি আপনার প্রোগ্রাম ব্যবহার করে, আমরা গতকাল আলোচনা যেমন, কম মেমরি উপলব্ধ অন্যান্য প্রোগ্রামের জন্য, শুভস্য আপনার কম্পিউটার ধীর হতে পারে নিচে ভার্চুয়াল মেমরি কারণ. তাই আদর্শ সমাধান কি হতে পারে? অনূর্ধ্ব বণ্টন খারাপ মনে হয়. ওভার-বণ্টন খারাপ মনে হয়. তাই কি একটি ভাল সমাধান হতে পারে? Reallocating. আরো গতিশীল হবে. নিজেকে একটি চয়ন করতে বাধ্য করবেন না অবরোহী, শুরুতে, আপনি কি চান. এবং অবশ্যই না ওভার বরাদ্দ না, আপনি পাছে অযথা হতে. তাই যে লক্ষ্য অর্জনের জন্য আমরা এই ডাটা স্ট্রাকচার নিক্ষেপ করা প্রয়োজন, তাই কথা বলতে, দূরে. তাই কি একজন প্রোগ্রামার সাধারণত ব্যবহার করা হবে কিছু একটা না বলা হয় অ্যারে কিন্তু একটি লিঙ্ক তালিকা. অন্য কথায়, সে হবে তাদের মেমরি ভাবতে শুরু একটি আকৃতি হচ্ছে ধরনের যে তারা নিম্নোক্ত উপায়ে আহরণ করতে পারে. আমি এক নম্বর এ সঞ্চয় করতে চান তাহলে একটা প্রোগ্রাম, তাই এটি সেপ্টেম্বর এর, আমি আমার ছাত্রদের একটি ব্যঙ্গ দিয়েছি; আমি চাই ছাত্রদের প্রথম ব্যঙ্গ সংরক্ষণ করার জন্য, এবং তারা এটিকে আমি উপর একটি 100 পেয়েছিলাম আমার কম্পিউটার জিজ্ঞাসা করতে যাচ্ছি, প্রোগ্রাম আমি করেছি থাকুন লিখিত, মেমরি এক খণ্ড জন্য. আমি সংরক্ষণ করা যাচ্ছে না এটা নম্বর 100, এবং যে এটি. তারপর কয়েক সপ্তাহ পরে যখন আমি আমার দ্বিতীয় ব্যঙ্গ পেতে, এবং প্রতিবার এটি টাইপ করার সময় যে 90%, আমি যাচ্ছি কম্পিউটার জিজ্ঞেস করা উচিত, অঁ্যা, কম্পিউটার, আমার একটা স্মৃতির আরেকটি খণ্ড থাকতে পারে? এটা আমাকে দিতে যাচ্ছে মেমরি খালি খণ্ড. আমি সংখ্যা 90 রাখা যাচ্ছি, কিন্তু আমার প্রোগ্রামে একরকম বা other-- এবং আমরা সম্পর্কে চিন্তা করা হবে না সিনট্যাক্স আপাততঃ জন্য আমি প্রয়োজন একরকম এইসব জিনিস একসঙ্গে শিকল. এবং আমি তাদের একসঙ্গে সঙ্গে চেইন করব কি একটি তীর এখানে মত দেখায়. তৃতীয় ব্যঙ্গ যে আসে আপ, আমি বলতে যাচ্ছি, হেই, কম্পিউটার, আমার মেমরি অন্য চাঙ্গড় দিতে. তখন আমি নীচে নেমে লাগাতে যাচ্ছি যাই হোক না কেন এটা ছিল, 75 মত, এবং আমি চেইন এই আছে একসঙ্গে এখন একরকম. চতুর্থ ব্যঙ্গ বরাবর আসে, এবং হয়ত যে সেমিস্টারে শেষ দিকেও. এবং যে বিন্দু আমার প্রোগ্রাম দ্বারা মেমরি ব্যবহার হতে পারে সব জায়গায় বেশি, সব শারীরিকভাবে বেশি. আর তাই শুধু kicks জন্য, আমি আছি এই ঘোষণা আঁকা যাচ্ছে quiz-- আমি ভুলে এটা কি ছিল; আমি একটি 80 বা কিছু মনে হয় পথ ধরে এখানে. কিন্তু যে সূক্ষ্ম কারণ pictorially আমি এই লাইন আঁকা যাচ্ছি. অন্য কথায়, বাস্তবে, আপনার কম্পিউটার এর হার্ডওয়্যার, প্রথম স্কোর প্রতাপ এখানে শেষ কারন ডান সেমিস্টারে শুরুতে. আগামী এক এখানে শেষ পর্যন্ত হতে পারে কারণ সময় একটি বিট পাস করেনি এবং প্রোগ্রাম রাখে. পরবর্তী স্কোর, যা ছিল 75, এখানে বেশি হতে পারে. আর গত স্কোর হতে পারে 80, যা এখানে উপর ক্ষমতাবান. তাই বাস্তবে, শারীরিকভাবে, এই হতে পারে কি আপনার কম্পিউটার এর মেমরি মত দেখায়. কিন্তু এই একটি দরকারী মানসিক নয় একটি কম্পিউটার প্রোগ্রামার জন্য দৃষ্টান্ত. আপনি কেন যত্ন করা উচিত যেখানে নরক আপনার ডেটা ব্যাক আপ শেষ হচ্ছে? আপনি শুধু তথ্য সংরক্ষণ করতে চান. এই ধরনের আমাদের আলোচনা ভালো হয় ঘনক্ষেত্র আঁকার আগে. আপনি কেন যত্ন কি কোণ ঘনক হল এবং আপনি কিভাবে এটা আঁকা চালু আছে? আপনি শুধু একটি ঘনক চান. একইভাবে এখানে, আপনি শুধু গ্রেড বই চাই. আপনি শুধু মনে করতে চান সংখ্যার একটি তালিকা হিসাবে এই. যারা বজায় রাখে এটি কিভাবে হার্ডওয়্যার বাস্তবায়িত? বিমূর্ততা এখন তাই এই ছবি এখানে. এই একটি সংযুক্ত তালিকা, যেমন একজন প্রোগ্রামার এটি কল করবে, আপনি একটি আছে যতটুকু তালিকা, সংখ্যার স্পষ্টত. কিন্তু এটা pictorially লিঙ্ক হচ্ছে এই তীর দ্বারা, এবং এই সব তীর নীচে are-- ফণা, যদি আপনি জানতে আগ্রহী, পুনরাহ্বান আমাদের শারীরিক হার্ডওয়্যার আছে ঠিকানাগুলি শূন্য, এক, দুই, তিন, চার. এই সকল তীরের মত একটি মানচিত্র ভালো হয় বা নির্দেশ, যেখানে যদি 90 হচ্ছে ÑÑ এখন আমি গণনা পেয়েছিলাম. শূন্য, এক, দুই, তিন, চার, পাঁচ, ছয়, সাত. দেখে মনে হচ্ছে 90 মত হয় মেমরি অ্যাড্রেস সংখ্যা সাত. এই সকল তীর হয় কাগজ সামান্য স্ক্র্যাপ মত যে নির্দেশ দেবার প্রোগ্রাম বলছেন যে এই মানচিত্র অনুসরণ অবস্থান সাত পেতে. এবং সেখানে আপনি পাবেন ছাত্র দ্বিতীয় ব্যঙ্গ স্কোর. এদিকে, 75-- যদি আমি এই অব্যাহত, এই সাত, আট, নয়, 10, 11, 12, 13, 14, 15. এই অন্যান্য তীর শুধু প্রতিনিধিত্ব মেমরি অবস্থান থেকে 15 একটি মানচিত্র. কিন্তু আবার, প্রোগ্রামার সাধারণভাবে নেই বিস্তারিত এই মাত্রা যত্নশীল না. আর সবচেয়ে যে প্রোগ্রামিং ভাষা আজ, প্রোগ্রামার এমনকি যেখানে মেমরি জানি না হবে এই সংখ্যার আসলে. সকল তিনি বা সে পরোয়া সম্পর্কে যে তারা একরকম একসঙ্গে সংযুক্ত করা হয় এই মত একটি ডাটা স্ট্রাকচার মধ্যে. কিন্তু এটা না সক্রিয় আউট খুব প্রযুক্তিগত পেতে. কিন্তু মাত্র কারণ আমরা সম্ভবত পারেন এখানে এই আলোচনা আছে সামর্থ্য, অনুমান করা হয় যে আমরা পরিদর্শন এই বিষয়টি একটি অ্যারের এখানে. চলুন দেখা যাক যদি আমরা এখানে যাচ্ছে দুঃখিত. এই 100, 90, 75, এবং 80. আমাকে সংক্ষিপ্তভাবে এই দাবি করা যাক. এই একটি অ্যারে, এবং আবার, একটি অ্যারের লক্ষণীয় বৈশিষ্ট্য আপনার সমস্ত ডেটা ফিরে হল ফিরে আক্ষরিক মেমরি মধ্যে ব্যাক এক বাইট বা হয়তো চার বাইট, বাইটের কিছু নির্দিষ্টসংখ্যক দূরে. একটি লিঙ্ক তালিকা, আমরা আঁকা হতে পারে এই মত, ফণা নীচে যারা জানে যে যেখানে কাপড় হয়? এটা এমনকি এই মত প্রবাহিত করার দরকার হয় না. কিছু তথ্য হতে পারে ফিরে সেখানে থেকে বামে. এমনকি আপনি জানেন না. আর তাই একটি অ্যারের সাথে, আপনি একটি আছে রেণ্ডম এক্সেস হিসাবে পরিচিত বৈশিষ্ট্য. আর কি রেণ্ডম এক্সেস মাধ্যম যে কম্পিউটার অবিলম্বে তিড়িং লাফ পারেন একটি অ্যারের মধ্যে কোনো অবস্থান থেকে. কেন? কারণ কম্পিউটার জানে যে প্রথম অবস্থান হয় শূন্য, এক, দুই এবং তিন. আর যদি আপনি থেকে যেতে চাই তাই পরবর্তী উপাদান এই উপাদান, আপনি আক্ষরিক, এ কম্পিউটারের মন, শুধু এক যোগ করুন. আপনি তৃতীয় উপাদান যেতে চান, শুধু পরবর্তী উপাদান one-- যোগ, শুধু এক যোগ কর. যাইহোক, এই সংস্করণে গল্পের, অনুমান করা কম্পিউটার বর্তমানে খুঁজছেন হয় বা সংখ্যা 100 সঙ্গে তার আচরণ. আপনি পরের পেতে পারি গ্রেড বইয়ে গ্রেড? আপনি সাত নিতে হবে পদক্ষেপ, যা অযৌক্তিক. পরের এক পেতে, আপনি করতে হবে অন্য আট পদক্ষেপ গ্রহণ থেকে 15 পেতে. অন্য কথায়, এটা একটি নয় সংখ্যার মধ্যে ধ্রুবক ফাঁক, এবং তাই এটা শুধু লাগে কম্পিউটার আরো সময় বিন্দু. কম্পিউটার গবেষণা হয়েছে যাতে মেমরি মাধ্যমে আপনি যা খুঁজছেন তা খুঁজে পেতে. সুতরাং যেহেতু একটি অ্যারের একটি হতে থাকে দ্রুত তথ্য কাঠামো আপনি কারণ আক্ষরিক শুধু সহজ গাণিতিক কি করতে পারেন এবং এক যোগ করে আপনি যেখানে আপনি চান পেতে, একটি লিঙ্ক তালিকা instance-- জন্য, আপনি যে বৈশিষ্ট্য বলিদান. আপনি শুধু প্রথম থেকে যেতে পারে না দ্বিতীয় তৃতীয় চতুর্থ থেকে. আপনি মানচিত্র অনুসরণ করতে হবে. আপনি আরো পদক্ষেপ নিতে হবে ঐ মান, পেতে যা একটি খরচ যোগ হবে বলে মনে হচ্ছে হবে. সুতরাং আমরা একটি মূল্য পরিশোধ করছেন, কিন্তু কি ছিল বৈশিষ্ট্য যে ড্যান এখানে সচেষ্ট ছিল? কি একটি লিঙ্ক তালিকা আছে দৃশ্যত আমাদের কি দেয়, যার উৎপত্তি ছিল এই বিশেষ গল্প? ঠিক. এটি একটি গতিশীল আকার. আমরা এই তালিকায় যোগ করতে পারেন. আমরা এমনকি তালিকা সঙ্কুচিত করতে পারেন, তাই আমরা শুধুমাত্র যতটা মেমরির ব্যবহার করছেন যে যেমন আমরা আসলে চান এবং তাই আমরা ওভার বণ্টন ব্রুস. এখন শুধু সত্যিই নিকী-খুঁতখুঁতে হতে, সেখানে একটি লুকানো খরচ. তাই আপনি শুধু আমাকে সন্তুষ্ট দেওয়া উচিত নয় আপনি এই একটি বাধ্যকারী tradeoff হয় যে. আরেকটা লুকানো খরচ এখানে. সুবিধা, পরিষ্কার করা, যে আমরা গতিশীলতা পেতে হয়. যদি আমি অন্য উপাদান চান, আমি শুধু পারেন এটি আঁকা এবং সেখানে একটি সংখ্যা করা. এবং তারপর আমি এটা লিঙ্ক করতে পারেন এখানে একটি ছবি দিয়ে, এখানে ওভার যেহেতু, আবার, যদি আমি করেছি নিজেকে একটি কোণার মধ্যে আঁকা, যদি অন্য কিছু ইতিমধ্যে ব্যবহার করা হয় মেমরি এখানে, আমি ভাগ্য আউট করছি. আমি কোণার মধ্যে আঁকা করেছি. কিন্তু কি লুকানো এই ছবিটিতে খরচ? এটা ঠিক পরিমাণ নয় সময় যে এটা লাগে এখান থেকে এখানে থেকে যেতে, যা থেকে সাতটি ধাপ, তারপর আটটি ধাপ, যা একাধিক. অন্য লুকানো খরচ কি? নেই শুধু সময়. অতিরিক্ত তথ্য নেই প্রয়োজনীয় এই ছবি অর্জন. হাঁ, যে মানচিত্র, সেই সামান্য স্ক্র্যাপ কাগজ, যেমন আমি তাদের হিসাবে বর্ণনা রাখা. ঐ arrows-- এই মুক্ত হয় না. একটি কম্পিউটারে আপনি জানেন কি একটি কম্পিউটার আছে. এটা zeros এবং বেশী হয়েছে. আপনি একটি তীর বা উপস্থাপন করতে চান তাহলে মানচিত্র বা একটি সংখ্যা, আপনি কিছু স্মৃতি প্রয়োজন. অন্যান্য মূল্য তাই আপনি একটি লিঙ্ক তালিকা জন্য টাকা দিতে, একটি সাধারণ কম্পিউটার বিজ্ঞান সম্পদ, স্থান হয়. এবং প্রকৃতপক্ষে, তাই সাধারণভাবে, tradeoffs মধ্যে সফটওয়্যার ইঞ্জিনিয়ারিং নকশা সিস্টেম সময় এবং স্পেস হয় আপনার উপাদানগুলো দুটি, দুই আপনার সবচেয়ে ব্যয়বহুল উপাদানের. এই আমাকে আরও সময় খোয়াতে হয় কারণ আমি এই মানচিত্র অনুসরণ করতে হবে, কিন্তু এটা আমার আরো স্থান খোয়াতে হচ্ছে কারণ আমি এই মানচিত্র কাছাকাছি রাখতে হবে. তাই আশা, যেমন আমরা ধরনের করেছি গতকাল এবং আজ উপর আলোচনা, যে সুবিধা হয় খরচ অতিক্রম করা. কিন্তু এখানে কোনো সুস্পষ্ট সমাধান. হয়তো এটা better-- হয় একটি লা দ্রুত এবং ময়লা, কারিম earlier-- প্রস্তাবিত হিসাবে সমস্যা এ মেমরি নিক্ষেপ করা. শুধু আরো মেমরি কিনতে, কম মনে সমস্যা সমাধানে সম্পর্কে কঠিন, এবং একটি সহজ উপায়ে তা সমাধান. এবং প্রকৃতপক্ষে তার আগে, যখন আমরা tradeoffs সম্পর্কে বললাম, এতে স্থান ছিল না কম্পিউটার এবং সময়. এটা ডেভেলপার সময়, যা ছিল আরেকটা সম্পদ. তাই আবার, এটা এই সমীকরণ আইন আছে সিদ্ধান্ত নিতে চেষ্টা ঐ জিনিস যা আপনি ব্যয় করতে ইচ্ছুক? যা অন্তত ব্যয়বহুল? যা ভাল ফলাফল উৎপাদ? হ্যা? প্রকৃতপক্ষে. এই ক্ষেত্রে, আপনি থাকেন maps-- সংখ্যার প্রতিনিধিত্বমূলক এইসব অনেক ভাষায় বলা হয় "পয়েন্টার" বা "ঠিকানাগুলি" - এটা ডবল স্থান. যে ডবল যদি যতটা খারাপ নাও হতে পারে এই মুহূর্তে আমরা শুধু সংখ্যার সংরক্ষণ করছেন. ধরুন যে আমরা সংরক্ষণ করা হয় একটি hospital-- রোগীর রেকর্ড তাই Pierson এর নাম, ফোন নম্বর, সামাজিক নিরাপত্তা নম্বর, ডাক্তার ইতিহাস. এই বক্স-বেশী হতে পারে, অনেক বড়, যে ক্ষেত্রে একটি ছোট্ট পয়েন্টার, এর ঠিকানা পরবর্তী element-- এটা একটি বড় চুক্তি না. এটা যেমন একটি পাড় এর খরচ এটা কোন ব্যাপার না. কিন্তু এই ক্ষেত্রে, হ্যাঁ, এটা একটি দ্বিগুনের এর. ভাল প্রশ্ন. এর সময় একটি সম্পর্কে কথা বলা যাক আরো concretely সামান্য. চলমান সময় কি এই তালিকা অনুসন্ধানের? ধরুন আমি অনুসন্ধান করতে চেয়েছিলেন সব ছাত্রের বাংলাদেশের মাধ্যমে, এবং সেখানে এন বাংলাদেশের এর এই তথ্য কাঠামো. এখানে খুব, আমরা ধার নিতে পারেন আগে এর শব্দভান্ডার. এই একটি রৈখিক ডাটা স্ট্রাকচার. n এর বড় হে কি পেতে প্রয়োজনীয় এই ডাটা স্ট্রাকচার শেষ করার, whereas-- এবং আমরা দেখিনি এই একটি অ্যারের আপনি দেয় before-- কি ধ্রুব সময় বলা হয়, যার মানে এক ধাপ বা দুই ধাপ বা 10 ধাপের কোন ব্যাপার না. এটি একটি নির্দিষ্ট সংখ্যা. এটা সঙ্গে এর কোন সম্পর্ক নেই অ্যারের আকার. আর এর কারণ, আবার, র্যান্ডম অ্যাক্সেস. কম্পিউটারটি বন্ধ করতে শুধু অবিলম্বে অন্য কোনো স্থানে তিড়িং লাফ, কারণ তারা সব একই করছি অন্য সব কিছুর থেকে দূরত্ব. কোন চিন্তা জড়িত. ঠিক আছে. সুতরাং যদি আমি করতে পারি, আমাকে করার চেষ্টা করা যাক দুই চূড়ান্ত ছবি অঙ্কন করা. একজন খুব সাধারণ এক একটি হ্যাশ টেবিল হিসাবে পরিচিত. তাই এই আলোচনা উদ্বুদ্ধকরণ, আমাকে এই কাজ কিভাবে সম্পর্কে চিন্তা করা যাক. সুতরাং কিভাবে এই সম্পর্কে? ধরুন সমস্যা যে আমরা এখন সমাধান করতে চান একটি dictionary-- মধ্যে বাস্তবায়ন করছে তাই ইংরেজি শব্দের একটি আভা বা যাই হোক না কেন. আর লক্ষ্য উত্তর দিতে সক্ষম হতে হয় ফর্মের প্রশ্ন এই একটা শব্দ? তাই আপনি যদি বাস্তবায়ন করতে চান একটি বানান পরীক্ষক, শুধু একটি শারীরিক অভিধান মত আপনি অনেক কিছু দেখতে পারেন যে. ধরুন আমি একটি অ্যারের সঙ্গে এই কি ছিল. আমি এই কাজ করতে পারে. এবং অনুমান শব্দ আপেল হয় এবং কলা ও ফুটি. আমি ফল মনে করতে পারেন না যে ঘ সঙ্গে শুরু, তাই আমরা ঠিক করছি তিনটি ফল আছে যাচ্ছে. সুতরাং এই একটি অ্যারে, এবং আমরা এই সব শব্দের সংরক্ষণকারী এই অভিধান একটি অ্যারের হিসাবে. প্রশ্ন, তাহলে বিষয়টা কেমন তো নয় আপনি এই তথ্য সংরক্ষণ করতে পারে? আচ্ছা, আমি এখানে ঠকায় ধরনের করছি, কারণ শব্দ এই চিঠির প্রতিটি সত্যিই একটি পৃথক বাইট. সুতরাং যদি আমি সত্যিই হতে চেয়েছিলেন নিকী-খুঁতখুঁতে, আমি সত্যিই উচিত এই অনেক ওপরে উঠে বিভাজক হবে মেমরি ছোট অংশ, এবং আমরা ঠিক তা করতে পারে. কিন্তু আমরা পাতিত চলুন আগের মতই সমস্যা. মেরিয়াম ওয়েবস্টার বা অক্সফোর্ড হিসেবে, কী লাভ তাহলে যে তারা শব্দ যোগ year-- করে dictionary-- আমরা না অগত্যা নিজেদের আঁকা চান একটি অ্যারের সঙ্গে একটি কোণার মধ্যে? সুতরাং পরিবর্তে, হয়তো বুদ্ধিমতী পদ্ধতির নিজস্ব নোড বা বাক্সে আপেল করা হয়, যেমন আমরা বলতে চাই, কলা, এবং তারপর এখানে আমরা ফুটি আছে. আর আমরা স্ট্রিং এইসব জিনিস একসঙ্গে. তাই এই অ্যারে, এবং এই লিঙ্ক তালিকা. আপনি বেশ দেখতে না পারে, তাহলে শুধু বলেছেন "অ্যারে" এবং এই বলে যে, "তালিকা." তাই আমরা একই আছে আগে যেমন সঠিক বিষয়, যদ্দ্বারা আমরা এখন আছে আমাদের লিঙ্ক তালিকায় গতিশীলতা. কিন্তু আমরা একটি মোটামুটি ধীর অভিধান আছে. ধরুন আমি একটি শব্দ সন্ধান করতে চান. এটা আমার বড় হে n র নিতে পারে ধাপ, কারণ শব্দ প্রতাপ শেষে সব পথ হতে তালিকা, ফুটি মত. এবং দেখা যাচ্ছে যে প্রোগ্রামিং, সাজানোর ডেটার পবিত্র ঈপ্সিত বস্তু এর স্ট্রাকচার, কিছু হয় যে আপনি ধ্রুবক দেয় একটি অ্যারের মত সময় কিন্তু যে এখনও আপনি গতিশীলতা দেয়. তাই আমরা উভয় বোথ ওয়ার্ল্ডস শ্রেষ্ঠ থাকতে পারে? এবং প্রকৃতপক্ষে, সেখানে কিছু হ্যাশ টেবিল বলা যে আপনি ঠিক করতে পারবেন যে, যদিও প্রায়. একটি হ্যাশ টেবিল একটি কল্পনাকারী হয় ডাটা স্ট্রাকচার যে আমরা হিসাবে মনে করতে পারেন একটি অ্যারে সমন্বয় এবং আমি তা টেনে তুলতে যাচ্ছি আপাততঃ এবং সংযুক্ত তালিকা মত যে আমি এখানে এই মত আঁকব. আর এই জিনিস কাজ হল নিম্নরূপঃ. তাহলে এই টেবিল হ্যাশ now-- আমার তৃতীয় ডাটা স্ট্রাকচার, এবং আমি এ সঞ্চয় করতে চান এই শব্দগুলো, আমি জানিনা শুধু সব সঞ্চয় করতে চান শব্দ ফিরে ফিরে ফিরে ফিরে যাও. আমি কিছু লিভারেজ চাই কিছু তথ্যের অংশ শব্দ দেবেন যে সম্পর্কে যেখানে এটা আরো দ্রুত আমাকে এটা পাবেন. তাই শব্দ আপেল দেওয়া এবং কলা ও ফুটি, আমি ইচ্ছাকৃতভাবে কথাগুলোর বেছে নেওয়া হয়েছে. কেন? কি ধরণের মৌলিকভাবে এর তিনটি বিষয়ে ভিন্ন? কি সুস্পষ্ট? তারা বিভিন্ন বর্ণ দিয়ে শুরু. তাই আপনি কি জানেন? বরং আমার সব শব্দ করা একই বালতি, তাই কথা বলতে, মত এক বড় তালিকায়, কেন না আমি অন্তত একটি অপ্টিমাইজেশান চেষ্টা এবং আমার তালিকা 1/26 যতদিন করতে. একটি বাধ্যকারী অপ্টিমাইজেশান হতে পারে কেন না I-- যখন একটি শব্দ ঢোকাতে এই ডাটা স্ট্রাকচার, কম্পিউটার এর মেমরি, কেন করবেন না আমি সব 'একটি' শব্দ এখানে ফেলে রেখেছো, সব 'খ' শব্দ এখানে, এবং সব 'গ' শব্দ এখানে? তাই এই একটি আপেল নির্বাণ শেষ পর্যন্ত এখানে, এখানে কলা, ফুটি এখানে, এবং তাই ঘোষণা. আর যদি আমি একটি অতিরিক্ত আছে শব্দ like-- কি আরেকটি? অ্যাপল, কলা, নাশপাতি. যে কেউ একটি ফল মনে যে একটি, বি, বা সি দিয়ে শুরু হয়? Blueberry-- নিখুঁত. যে এখানে আপ শেষ হয়ে যাচ্ছে. এবং তাই আমরা একটি আছে বলে মনে হচ্ছে সীমিতভাবে ভাল সমাধান, কারণ এখন যদি আমি চাই আপেল জন্য অনুসন্ধান করতে, আমি প্রথম করতে আমি ডুব না আমার ডাটা স্ট্রাকচার. আমি আমার কম্পিউটার এর মেমরি মধ্যে ডুব না. আমি প্রথম প্রথম চিঠি তাকান. এবং এই কি একটা কম্পিউটার বিজ্ঞানী বলতে হবে. আপনি আপনার ডাটা স্ট্রাকচার হ্যাশ. আপনি আপনার ইনপুট, যা নিতে এই ক্ষেত্রে আপেল এর মত একটি শব্দ হয়. আপনি তা বিশ্লেষণ, এ খুঁজছেন এই ক্ষেত্রে প্রথম চিঠি, যার ফলে এটি হ্যাশ. হ্যাশ একটি সাধারণ শব্দ যদ্দ্বারা হয় আপনি ইনপুট হিসাবে কিছু গ্রহণ এবং আপনি কিছু আউটপুট উত্পাদন. এবং যে আউটপুট যদি অবস্থান হয় আপনাকে প্রথমে চান অবস্থান, দ্বিতীয় অবস্থান তৃতীয়. তাই ইনপুট আপেল হয়, আউটপুট প্রথম. ইনপুট কলা, হয় আউটপুট দ্বিতীয় হওয়া উচিত. ইনপুট, ফুটি হয় আউটপুট তৃতীয় হওয়া উচিত. ইনপুট ব্লুবেরি হয়, আউটপুট আবার দ্বিতীয় হওয়া উচিত. এবং যে কি আপনি নিতে সাহায্য করে আপনার মেমরি মাধ্যমে শর্টকাট অর্ডার শব্দের পেতে বা তথ্য আরো কার্যকরভাবে. এখন এই সম্ভাব্য আমাদের সময় নিচে মধ্যেও যতটা 26 বাইরে এক হিসাবে দ্বারা, কারণ যদি আপনি অনুমান যে আপনি যেমন অনেক "একটি" "Z" হিসাবে শব্দ আছে "Q" এর শব্দ, যেমন শব্দ যা সত্যিই realistic-- না হয় আপনি জুড়ে নৈকতলীয় আছে চলুন alphabet-- নির্দিষ্ট অক্ষর কিন্তু এই বর্ধিত হবে পদ্ধতির যে অনুমতি দেয় আপনি শব্দ অনেক বেশি দ্রুত পেতে. বাস্তবে একটি অত্যাধুনিক প্রোগ্রাম, বিশ্বের গুগল, world-- এর ফেসবুক তারা একটি হ্যাশ টেবিল ব্যবহার করা হবে বিভিন্ন কাজের জন্য অনেক. কিন্তু তারা যাতে সরল হবে না শুধু প্রথম অক্ষর তাকান আপেল বা কলা বা নাশপাতি বা ফুটি, কারণ হিসেবে এইসব দেখতে পারেন তালিকা এখনও দীর্ঘ পেতে পারে. আর তাই এই এখনও কেমন হতে পারে এর linear-- তাই সাজানোর ধীর, n এর বড় হে সঙ্গে মত যে আমরা আগে আলোচনা. তাই কি একটি বাস্তব ভাল হ্যাশ টেবিল হবে do-- এটা একটি অনেক বড় অ্যারে আছে হবে. এবং এটা অনেক বেশি ব্যবহার করবে অত্যাধুনিক হ্যাশ ফাংশন, তাই এটি শুধু তাকান না "একটি." হয়তো এটি দেখে "একটি অনু-পি-এল-ই 'এবং একরকম ঐ পাঁচটি অক্ষর পরিবর্তন করে যেখানে অবস্থান মধ্যে আপেল সংরক্ষণ করা উচিত. আমরা শুধু naively চিঠি 'একটি' ব্যবহার করছেন একা, কারণ এটি চমৎকার এবং সহজ. কিন্তু একটি হ্যাশ টেবিল, শেষ, আপনি মনে করতে পারেন এর একটি সমন্বয় হিসাবে একটি অ্যারের, প্রতিটি যা একটি লিঙ্ক তালিকা যে আদর্শভাবে হয়েছে যতটা সম্ভব সংক্ষিপ্ত হতে হবে. আর এই একটি সুস্পষ্ট সমাধান নয়. বস্তুত, ফাইন টিউনিং এর অনেক যে ফণা যখন নীচে যায় এই ধরনের বাস্তবায়ন অত্যাধুনিক ডাটা স্ট্রাকচার যা সঠিক নয় অ্যারের? ডান হ্যাশ ফাংশন কি? কিভাবে আপনি যা মেমরির মধ্যে জিনিষ সংরক্ষণ করব? কিন্তু বুঝতে পারছি কিভাবে দ্রুত আলোচনার এই সাজানোর ছড়ানোর পারেন এতদূর এটি ধরনের এই সময়ে এক মাথা, ওপরে ভাল. কিন্তু আমরা শুরু, রিকল, সত্যিই সঙ্গে কিছু নিম্নস্তরের এবং ইলেকট্রনিক. আর তাই এই আবার এই নয় বিমূর্ততা থিম, যেখানে একবার তোমার জন্য নিতে শুরু মঞ্জুর, ঠিক আছে, আমি এটা পেয়েছেন আছে প্রকৃত মেমরি, ঠিক আছে, বুঝেছি, যে শারীরিক অবস্থান একটি ঠিকানা আছে, ঠিক আছে, আমি বুঝেছি, আমি উপস্থাপন করতে পারেন arrows-- যেমন ঐ ঠিকানার আপনি খুব দ্রুত আছে শুরু করা যেতে পারে আরো পরিশীলিত কথোপকথন শেষ আমাদের অনুমতি হবে বলে মনে হচ্ছে অনুসন্ধানের মত সমস্যার সমাধান করতে এবং বাছাই আরো কার্যকরভাবে. আর আশ্বস্ত, too-- কারণ আমি এই মনে গভীরতম আমরা কিছু প্রবেশ করেছি আগেই চলে গেছে এই সি এস বিষয় proper-- আমরা করেছি এই সময়ে একটি দিন এবং একটি অর্ধ মধ্যে সম্পন্ন বাতলান কি আপনি সাধারণত উপর কি হতে পারে আট সপ্তাহ অবশ্যই একটি সেমিস্টারে. এই উপর কোন প্রশ্ন? ঠিক বলেছি না? ঠিক আছে. আচ্ছা, কেন আমরা সেখানে বিরাম না, অনুগ্রহ করে কয়েক মিনিট তাড়াতাড়ি লাঞ্চ শুরু, মাত্র প্রায় এক ঘন্টার মধ্যে পুনরায় শুরু? আমি জন্য গড়িমসি করব প্রশ্ন সঙ্গে একটি বিট. তারপর আমি যেতে হবে যাচ্ছি একটি দম্পতি কল নিতে ঠিক আছে যে যদি. আমি, এই সময়ের মধ্যে কিছু গান চালু করব কিন্তু লাঞ্চের কোণার কাছাকাছি হতে হবে.