আমি কীভাবে অ্যালগরিদম এবং ডেটা স্ট্রাকচার শিখব? [বন্ধ]


38

এটি আমার আগের প্রশ্নের ধারাবাহিকতায় যেখানে আমি জিজ্ঞাসা করেছি এটি হল অ্যালগরিদম এবং ডেটা কাঠামো শেখার প্রয়োজন। আমি হ্যাঁ এটা মনে হয়।

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


3
করম্যান আপনার বন্ধু :)
লুকাসজ ম্যাডন

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

আপনি আমার প্রকল্পটিও দেখতে পারেন, যা জনপ্রিয় অ্যালগরিদম এবং ডেটা স্ট্রাকচারকে উইকিপিডিয়া তুলনায় আরও সোজাভাবে বর্ণনা করে এবং প্রায় প্রতিটি নিবন্ধ (কাঠামো, পদ্ধতির, অ্যালগরিদম) এর জন্য স্যুস কোড ধারণ করে ... en.algoritmy.net
পুরুষ

উত্তর:


40

পড়ুন।

না, সত্যিই, পড়ুন।

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

তারপর জিজ্ঞেস করো.

আপনার সম্মানিত লোকদের সাথে কথা বলুন। তাদের কোন সিদ্ধান্তের বিষয় রয়েছে এবং কেন তারা সিদ্ধান্ত নিয়েছিল তা তাদের জিজ্ঞাসা করুন। ভালগুলি সর্বদা আপনাকে বলতে সক্ষম হবে "আমি এক্স করতে পছন্দ করেছিলাম কারণ এটি এ, বি এর চেয়ে ভাল।

পরবর্তী, না।

স্টাফ তৈরি করুন। আপনি কখনও ব্যবহার করবেন না এমন স্টাফ তৈরি করুন। আপনার প্রয়োজন হবে না এমন স্টাফ তৈরি করুন। একটি প্রোগ্রাম লিখুন যা একটি সুডোকু ধাঁধা সমাধান করে। এবার আবার করো। এবং আবার. এটি 5 সম্পূর্ণ ভিন্ন উপায়ে তৈরি করুন। এমন একটি প্রোগ্রাম তৈরি করুন যা সুডোকু ধাঁধা তৈরি করে এবং এটিকে সলভারগুলিতে খাওয়ায়। কোন দ্রাবক দ্রুততম তা আবিষ্কার করুন। এবং তারপর...

খুঁজে বের করো কেনো.

"কি" প্রায় গুরুত্বপূর্ণ হয় না। হ্যাঁ, হ্যাঁ, প্রকল্পটি হাতে রেখে সমাপ্ত করা সমালোচনামূলক, তবে শেষে যদি আপনি "কেন" জানেন না কেন "কেন" জেনে থাকেন, তবে আপনি সম্ভবত এটি প্রথম স্থানে কখনও করেননি। আপনি আপনার জীবনবৃত্তান্তে একটি বুলেট পয়েন্ট পেয়েছেন। একটি কুকি পেতে যান এবং নিজেকে অভিনন্দন জানান। "কেন" "" কি তার চেয়ে অনেক বেশি গুরুত্বপূর্ণ।

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

http://www.amazon.com/Bundle-Algorithms-Partts-1-5-Fundamentals/dp/020172684X/ http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/ http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/


সত্যিই সত্যিই ভাল উত্তর! আপনি আপনার পরামর্শটি যেভাবে বলেছিলেন তা আমি পছন্দ করি!
প্যাক্স রোমান

আমি সেডজউইক এবং স্কিয়েনার বই সর্বত্র আমার সাথে রাখি! আমি সম্ভবত আপনার উত্তর পছন্দ কারণ এটি অন্য কারণ!
প্যাক্স রোমান

এবং দয়া করে মিশ্রণ করতে Cormen।
অরুণিআরসি

1
ইন্টারনেটে তথ্যের কাছে ক্রমবর্ধমান ড্রাইভের যুগে এটি যুক্ত করা গুরুত্বপূর্ণ: বই পড়ুন (একচেটিয়াভাবে অবশ্যই নয়)। অ্যাড-বিভক্ত এইচটিএমএল পৃষ্ঠাগুলির ২-৩ টিরও বেশি লম্বা কোনও বিষয়ে একটি ধারাবাহিক, সুসংগত ভূমিকা হ'ল একটি ভাল জিনিস ™ ! এটিকে অবমূল্যায়ন করবেন না (এবং হ্যাঁ, অবশ্যই ইবুকগুলি ভাল আছে)।
জোছিম সৌর

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

10

আলগোরিদিম

আমি বারো বছর বয়সে একটি গ্রুপ সেটিংয়ে যাদু পাঠ করেছি magic যাদুকরের নাম জো ক্যারোটা। সে একবার একবার কৌতুক করেছিল এবং আমি ঝাপসা করে বলেছিলাম, "আপনি এটি কীভাবে করলেন?" তিনি সেদিন এমন কিছু বলেছিলেন যা আমার সাথে তখন থেকেই আটকে আছে।

জোয়ের প্রতিক্রিয়া, "মাইকেল, আপনি যদি সত্যিই জানতে চান যে কৌশলটি কীভাবে করা হয় তবে আপনার নিজের কীভাবে তা করবেন তা বুঝতে হবে" "

অবশ্যই এটি আমি শুনতে চেয়েছিলাম তা নয় তবে এটি সমস্যা সমাধানের দিকে আমার মনকে কেন্দ্রীভূত করেছে। এটি আমার দৃষ্টিকোণ থেকে সমস্যার সমাধান হয়েছিল। সমস্যাটি সমাধানের জন্য আমার প্রথম প্রয়াস যদি সতেরোটি পদক্ষেপ নিয়েছিল এবং সত্যিই ক্লুঙ্কি ছিল তবে সুসংবাদটি হ'ল আমি সমস্যাটি সমাধান করেছি।

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

এটি কাজ করেছে তখন এটি এখনও কাজ করে।


9

এখানে নীচের লিঙ্কটি এমআইটি দ্বারা অনুসরণ করা সবচেয়ে সফল ডিএস এবং অ্যালগরিদম ক্লাসে আপনাকে পুনর্নির্দেশ করে।

http://academicearth.org/courses/introduction-to-algorithms

আশা করি আপনি এই ভিডিও সিরিজটি উপভোগ করবেন। শুভকামনা !!!


2

আপনি কোনও অনলাইন কোর্স নিতে পারেন, বা প্রশিক্ষণ পেতে পারেন কিনা তা দেখুন। ব্যর্থ হয়ে, এটি একটি দ্রুত গুগল অনুসন্ধানে পপ আপ। আমি এই গত বসন্তে সবেমাত্র একটি ক্লাস নিয়েছি (প্রথমবার, আমি EE থেকে সফ্টওয়্যারটিতে চলে এসেছি) এবং আপনি পয়েন্টারগুলি ভালভাবে বুঝতে পারলে এটি নেওয়া খুব বেশি কঠিন ছিল না ।


2

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


সমাধান এখানে। আপনার নিজের শিখার সময় এগুলি পেয়ে আমার পক্ষে দুর্দান্ত লাগছে
ডেভিড রিন্ক

1

ডেটা স্ট্রাকচার এবং অ্যালগরিদমে স্নাতক স্তরের কোর্সে ভর্তির চেষ্টা করুন, অন্যদের পাশাপাশি এই ধারণাগুলিটি শিখাই ভাল always


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

ফিরে যান এবং একটি রিফ্রেশার কোর্স নিন :-)
মার্টিজ ভার্বার্গ

1

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

সমাধানগুলি সি / সি ++ থেকে জাভাস্ক্রিপ্ট, লিস্প, স্মলটালক, এসেম্বলার + আরও 40 টিতে বিভিন্ন প্রোগ্রামিং ভাষায় জমা দেওয়া যেতে পারে। সুতরাং আপনি যে প্রোগ্রামিং ভাষার সাথে স্বাচ্ছন্দ্য বোধ করেন তা সমস্যা সমাধানে সম্পূর্ণ মনোযোগ দিতে পারেন।


1

CLRS

এটি এখন পর্যন্ত আমার প্রিয় সংস্থান। আমি এটি আমার স্নাতক কম্পিউটার সায়েন্স অ্যালগরিদম কোর্সে ব্যবহার করেছি এবং 4 বছর পরে আমার এমএস কমপ সায়েন্স কোর্সগুলির জন্য প্রস্তুত করার জন্য নিজে থেকে পড়তে বইটি কিনে শেষ করেছি। এটি কোনও উপায়ে পড়া সহজ নয় তবে আপনি যদি উপস্থাপিত কয়েকটি গণিত / প্রমাণগুলি বোঝার জন্য কাজ করেন এবং তারপরে আপনার পছন্দের ভাষায় সিউডো কোডটি প্রয়োগ করেন তবে এটি কিছুটা বিশাল মূল্য-ট্যাগের পক্ষে মূল্যবান। অ্যালগরিদম ডিজাইন ম্যানুয়াল অন্যরা উল্লিখিত সমস্যাগুলি সনাক্তকরণ শেখার জন্য একটি দুর্দান্ত উত্স তবে আমি সিএলআরএসকে বিশুদ্ধ বিবরণের জন্য আরও ভাল বলে মনে করেছি।


0

আপনি সর্বদা এরকম কিছু চেষ্টা করতে পারেন: http://codekata.pragprog.com/

আমি সবসময় এটিকে পড়ার বিরোধী হিসাবে চিন্তা করে আরও ভাল শিখি। তবে উত্তরগুলির সন্ধানের জন্য আপনার কাছে ডকুমেন্টেশন / পঠন সামগ্রী উপলব্ধ থাকতে হবে।


0

এই বইটি কিনুন , এটি anণ করুন বা এটি চুরি করুন! বিশ্রাম অনুসরণ করবে :)

রিভেস্ট এবং কর্পেন কর্তৃক অ্যালগরিদমের ভূমিকা। আপনি পরিচিতিতে মার্জেসোর্টের ব্যাখ্যাটি পেয়ে গেলে প্রাথমিকভাবে অনুসরণ করা খুব কঠিন হবে। সবকিছু আপনাকে সুন্দরভাবে উদ্ভাসিত করে।

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

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