"অ্যালগরিদম ডিজাইন" বইয়ের ফ্ল্যাপের লেখা: অ্যালগরিদমের মতাে একটি বিষয়কে সংক্ষিপ্ত পরিসরে ব্যাখ্যা করা অত্যন্ত কঠিন। এ বইতে যে বিষয়গুলাে নিয়ে আলােচনা করা হয়েছে, তার সব কয়টার ওপরেই একেকটা পৃথক বই লেখা সম্ভব এবং লেখাও আছে এমনসব বই। এই বই থেকে যে কেউ শুধু সমস্যার সমাধান করা ও অ্যালগরিদম ডিজাইনের সম্পর্কে একটা ধারণা পাবেন। যেকোনাে বিষয়কে গাণিতিকভাবে চিন্তা করার সামর্থ্য অর্জন করার জন্য এবং গণিতের মৌলিক ধারণাগুলাে যেগুলাে ছাড়া পুরাে মহাবিশ্বই অচল— এই বইতে সে বিষয়গুলাে খুবই সুন্দরভাবে প্রয়ােগসহ ব্যাখ্যা করা হয়েছে। ভূমিকা গ্রাফ অ্যালগরিদমে আমার দুর্বলতা গোপন কিছু নয়। তাই লেখকের কাছ থেকে যখন তার বইয়ের মুখবন্ধ লেখার প্রস্তাব পেলাম তখন খুশি আর আমার ধরে না। কারণ এরকম প্রস্তাব এই প্রথম, বিনামূল্যে গ্রাফ অ্যালগরিদম শিখে ফেলা যাবে। সর্বোপরি এই বই দেখিয়ে নিজেকে গ্রাফ বিশেষজ্ঞ প্রমাণ করা যাবে। আরেকটি কারণ হলো আমি এবং শাফায়েত প্রোগ্রামিং কনটেস্টের দুই ঘরানার লোক (DU-BUET অথবা Codemarshal-Hackerrank যেভাবেই দেখি না কেন)। কিন্তু সবকিছুর আগে আমরা বাংলাদেশের ভালো চাই এবং আমাদের কাজে সেটাই ফুটে ওঠা উচিত। সেই ফুটিয়ে উঠানোর কাজটা সবচেয়ে ভালোভাবে করা সম্ভব এই বই এর মুখবন্ধ লেখার মাধ্যমে। পুরো বইটি পড়ার সময় হয়নি এখনো, কিন্তু যতদুর দেখেছি তাতেই মনে করি বইটি বোঝা বেশ সহজ, অযথা গাণিতিক প্রতীক / চিহ্ন ইত্যাদি ব্যবহার করে লেখক পান্ডিত্ব দেখানোর চেষ্টা করেননি এবং অনেক বেশি টপিক নিয়ে আলোচনারও চেষ্টা করেননি। আমাদের দেশের ছেলে মেয়েদের ইংরেজিতে দুর্বলতা অনেক বেশি, কিন্তু এই দুর্বলতা ভালো প্রোগ্রামার হওয়ার পথে কোনো অন্তরায় হওয়া উচিত নয়। যদি তাই হতো তাহলে রাশিয়া, চীন থেকে বিশ্বের সব ভালো ভালো প্রোগ্রামাররা বের হয়ে আসত না আর আইসিপিসিতে ইংরেজিভাষী দেশগুলোকে মেডেলের জন্য হা-হুতাশ করতে হতো না। কাজেই কম্পিউটার বিজ্ঞানের বিভিন্ন বিষয়ের ওপর আরও বাংলা বই বের হওয়া উচিত এবং সেদিক দিয়ে এই বইটি একটি ভালো সংযোজন। এ ধরনের বই পড়ে আমাদের দেশের ছেলেমেয়েরা অনেক কম বয়সেই খুব ভালো প্রোগ্রামার হয়ে উঠতে পারবে।
বিশ্ব মানের প্রোগ্রামার তৈরির জন্য প্রোগ্রামিং প্রতিযোগিতা একমাত্র উপায় না হলেও খুবই গুরুত্বপূর্ণ একটি প্রক্রিয়া। তবে আমাদের দেশে ভালো প্রোগ্রামার তৈরিতে এর গুরুত্ব বিশ্বের উন্নত দেশের চেয়ে অনেক বেশি। কারণ, আমাদের দেশের প্রচলিত শিক্ষা ব্যবস্থা এখনো যুক্তিনির্ভর চিন্তা ভাবনার জন্য অনুকুল নয়। সেদিক থেকেও এই বইটি এর গুরুত্ব অপরিসীম। এই বই এ আলোচিত গ্রাফ অ্যালগরিদম গুলো ভালোভাবে বুঝলে প্রোগ্রামিং প্রতিযোগিতার অন্তত ৮০ ভাগ গ্রাফ সমস্যা সমাধান করা সম্ভব।
প্রোগ্রামিং শেখার জন্য বাংলায় বেশ কিছু বই রয়েছে। কিন্তু মূলত প্রোগ্রামিংয়ের একদম প্রারম্ভিক বিষয়গুলো নিয়ে সেখানে আলোচনা করা হয়েছে। অ্যালগরিদম শেখার জন্য ভালো বাংলা বই এখনো সেভাবে ছাপা হয়ে বের হয়নি। পিডিএফ হিসাবে হয়ত বেশ কিছু বই পাওয়া যাচ্ছে। সেদিক থেকেও এই বইটিকে একটি মাইলফলক হিসাবে দেখা যায়। সব মিলিয়ে আমি লেখককে ধন্যবাদ দিতে চাই এরকম একটি বই লেখার জন্য। আমি আশা করি সময়ের সঙ্গে সঙ্গে বইটি আরও উন্নত হবে এবং সঙ্গে সঙ্গে কম্পিউটার ইঞ্জিনিয়ারিংয়ে আরও অনেক ভালো ভালো বাংলা বই প্রকাশিত হবে। তখন আমরা জাপানিদের মতো বিশ্ববিদ্যালয় পর্যায়েও মাতৃভাষায় শিক্ষা দিতে পারব। ৫২ এর ভাষা আন্দোলন সেদিনই পরিপূর্ণভাবে সার্থক হবে।
অধ্যায় ২ – গ্রাফ উপস্থাপন ২.১ – অ্যা ডজেসেন্সি ম্যা7ট্রিক্স (Adjacency Matrix) * অ্যাডজেসেন্সি ম্যাট্রিক্স ব্যবহার করার সমস্যা * অ্যাডজেসেন্সি ম্যাট্রিক্স ব্যবহার করার সুবিধা
২.২ – অ্যা ডজেসেন্সি লিস্ট (Adjacency List) * অ্যাডজেসেন্সি লিস্ট ব্যবহার করার সুবিধা * অ্যাডজেসেন্সি লিস্ট ব্যবহার করার অসুবিধা