______ sort uses a divide and conquer approach?
A
Insertion
B
Quick
C
Bubble
D
Selection
উত্তরের বিবরণ
Quick Sort একটি দক্ষ divide and conquer ভিত্তিক সোর্টিং অ্যালগরিদম, যা বড় আকারের ডেটাসেট দ্রুত সাজানোর জন্য ব্যাপকভাবে ব্যবহৃত হয়। এটি ইন-প্লেস (in-place) পদ্ধতিতে কাজ করে, ফলে অতিরিক্ত মেমরির প্রয়োজন হয় না।
মূল তথ্যসমূহ:
-
Divide: একটি pivot element নির্বাচন করে অ্যারেটিকে দুই ভাগে ভাগ করা হয়—এক ভাগে pivot-এর চেয়ে ছোট উপাদানগুলো, আরেক ভাগে বড় উপাদানগুলো রাখা হয়।
-
Conquer: এই দুইটি সাবঅ্যারেতে পুনরাবৃত্তি করে (recursively) একই প্রক্রিয়া প্রয়োগ করা হয়।
-
Combine: দুটি সাবঅ্যারে সাজানো হয়ে গেলে, সেগুলো একত্রে সঠিক ক্রমে সংযুক্ত হয়; যেহেতু সাজানো কাজ ইন-প্লেস হয়, তাই এই ধাপটি তুলনামূলক সহজ।
-
দক্ষতা: গড় অবস্থায় এর সময় জটিলতা O(n log n), যা একে Insertion, Bubble, ও Selection Sort থেকে অনেক দ্রুত করে তোলে।
ভুল বিকল্পসমূহ:
-
ক) Insertion Sort: ধাপে ধাপে নতুন উপাদান যোগ করে সাজায়; divide and conquer নয়।
-
গ) Bubble Sort: পরপর উপাদানগুলো অদলবদল করে সাজায়; কোনো ভাগ করা হয় না।
-
ঘ) Selection Sort: প্রতিবার সবচেয়ে ছোট উপাদান নির্বাচন করে সাজায়; এটি-ও divide and conquer নয়।
অতএব, Quick Sort-ই একমাত্র অ্যালগরিদম যা divide and conquer কৌশল ব্যবহার করে সাজানোর কাজ সম্পন্ন করে।

0
Updated: 2 days ago
Which command can we use to save all transactions?
Created: 2 days ago
A
Save point
B
Commit
C
Save
D
Rollback
Answer: খ)
Commit
Explanation:
In database management systems (DBMS):
Commit: Permanently saves all
changes/transactions made during the current session.
After a commit, changes cannot be rolled back.
Savepoint: Creates a marker within a transaction to which you can
rollback partially.
Rollback: Reverts changes to the last commit or to a savepoint.
Save: Not a standard SQL command for transaction
control.
Example:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT; -- saves all above changes permanently

0
Updated: 2 days ago
Which phase in the compiler design performs data type checking?
Created: 2 days ago
A
Lexical analysis
B
Syntax analysis
C
Semantic analysis
D
Code generation
Answer: গ)
Semantic analysis
Explanation:
A compiler works in several phases:
Lexical analysis →→Converts source code into
tokens (keywords, identifiers, operators)
Syntax analysis →→ Builds parse tree and checks grammar
rules (structure of code)
Semantic analysis →→ Checks meaning of code:
Example:
int a;
float b;
a = b; // Semantic analysis may warn about type mismatch
Syntax analysis: Correct (assignment statement follows grammar)
Semantic analysis: Detects type mismatch → performs
data type checking

0
Updated: 2 days ago
Which register in a CPU points to the next instruction to be executed?
Created: 2 days ago
A
Accumulator
B
Flags
C
SP
D
PC
Program Counter (PC) হলো এমন একটি গুরুত্বপূর্ণ রেজিস্টার যা পরবর্তী নির্দেশনার (next instruction) ঠিকানা ধারণ করে। এটি CPU-কে জানায় মেমরির কোন অবস্থান থেকে পরবর্তী নির্দেশনা আনা হবে এবং এক্সিকিউট করা হবে। নির্দেশনা ফেচ করার পর PC স্বয়ংক্রিয়ভাবে ইনক্রিমেন্ট হয়, যাতে এটি পরবর্তী নির্দেশনার দিকে নির্দেশ করে।
বিস্তারিতভাবে:
-
Program Counter (PC): এটি পরবর্তী নির্দেশনার মেমরি ঠিকানা সংরক্ষণ করে। যখন একটি নির্দেশনা ফেচ করা হয়, তখন PC-এর মান এক ধাপ বাড়ানো হয়, যাতে CPU ক্রমানুসারে পরবর্তী নির্দেশনা সম্পাদন করতে পারে।
-
Accumulator: এটি অ্যারিথমেটিক ও লজিক্যাল অপারেশনের মধ্যবর্তী ফলাফল সংরক্ষণের জন্য ব্যবহৃত হয়।
-
Flags Register: এতে থাকে বিশেষ বিট (zero, carry, overflow ইত্যাদি), যা নির্দেশনার ফলাফলের অবস্থা নির্দেশ করে।
-
Stack Pointer (SP): এটি স্ট্যাকের শীর্ষের (top of the stack) ঠিকানা নির্দেশ করে এবং ফাংশন কল বা লোকাল ভেরিয়েবল সংরক্ষণে ব্যবহৃত হয়।
অতএব, Program Counter (PC)-ই সেই রেজিস্টার যা পরবর্তী নির্দেশনা ট্র্যাক করার দায়িত্ব পালন করে।

0
Updated: 2 days ago