Data Structures and Algorithms in Java, 6th Edition.pdf
9.9 MB
Data Structures and Algorithms in Java, Sixth Edition ဆိုတဲ့ စာအုပ်လေးဖတ်ချင်ကြလား
ဘယ်လိုသူတွေဖတ်သင့်လဲဆိုရင်
Book Name ကြည့်တာနဲ့ သိသာပါတယ်နော်
Michael T. Goodrich, Roberto Tamassia, နဲ့ Michael H. Goldwasser တို့ရဲ့ လက်ရာဖြစ်ပြီး Java programming language ကို အခြေခံကစပြီး data structures နဲ့ algorithms တွေကို နက်နက်ရှိုင်းရှိုင်း လေ့လာလိုသူများအတွက် ရည်ရွယ်ထားတဲ့ စာအုပ်ဖြစ်ပါတယ်။
ဒီစာအုပ်မှာ ကိုယ်တွေ့ အရေးပါတဲ့ data structures နဲ့ algorithms တွေကို Java programming သုံးပြီး ရှင်းလင်းစွာ ဖော်ပြထားပါတယ်။
အဓိက ပါဝင်မှုများကတော့
1. Abstract Data Types (ADTs)
2. Basic Data Structures
3. Algorithms
4. Complexity Analysis
5. Object-Oriented Design
6. Java Implementation တို့ပါဝင်ပါတယ်။
နှစ်သစ်မှာ Focus ထားပြီ များများလေ့လာနိုင်ကြပါစေ။❄️
ဘယ်လိုသူတွေဖတ်သင့်လဲဆိုရင်
Book Name ကြည့်တာနဲ့ သိသာပါတယ်နော်
Michael T. Goodrich, Roberto Tamassia, နဲ့ Michael H. Goldwasser တို့ရဲ့ လက်ရာဖြစ်ပြီး Java programming language ကို အခြေခံကစပြီး data structures နဲ့ algorithms တွေကို နက်နက်ရှိုင်းရှိုင်း လေ့လာလိုသူများအတွက် ရည်ရွယ်ထားတဲ့ စာအုပ်ဖြစ်ပါတယ်။
ဒီစာအုပ်မှာ ကိုယ်တွေ့ အရေးပါတဲ့ data structures နဲ့ algorithms တွေကို Java programming သုံးပြီး ရှင်းလင်းစွာ ဖော်ပြထားပါတယ်။
အဓိက ပါဝင်မှုများကတော့
1. Abstract Data Types (ADTs)
2. Basic Data Structures
3. Algorithms
4. Complexity Analysis
5. Object-Oriented Design
6. Java Implementation တို့ပါဝင်ပါတယ်။
နှစ်သစ်မှာ Focus ထားပြီ များများလေ့လာနိုင်ကြပါစေ။❄️
❤3
C++ Programming Basic
တန်ဖိုး = 15000
စာမျက်နှာ = 160
DVD = 1 ချပ်
ဆက်သွယ်ရန်း ဖုန် = 09770739712
Telegram = https://t.me/minminaung11
Viber = 09770739712
တန်ဖိုး = 15000
စာမျက်နှာ = 160
DVD = 1 ချပ်
ဆက်သွယ်ရန်း ဖုန် = 09770739712
Telegram = https://t.me/minminaung11
Viber = 09770739712
C++ Advanced
တန်ဖိုး = 15000
စာမျက်နှာ = 180
DVD = 1 ချပ်
ဆက်သွယ်ရန်း ဖုန် = 09770739712
Telegram = https://t.me/minminaung11
Viber = 09770739712
တန်ဖိုး = 15000
စာမျက်နှာ = 180
DVD = 1 ချပ်
ဆက်သွယ်ရန်း ဖုန် = 09770739712
Telegram = https://t.me/minminaung11
Viber = 09770739712
DeepSeek က AI တွေထဲမှာ
popular ဖြစ်လာတာလဲ မပြောနဲ့
တကယ်သုံးကြည့်သူပဲ သိတယ် ။
ကျတော်ကတော့ ChatGPT ထက်
တရုတ်ထုတ် DeepSeek ကို ပိုသုံးဖြစ်တယ်။
https://www.deepseek.com
popular ဖြစ်လာတာလဲ မပြောနဲ့
တကယ်သုံးကြည့်သူပဲ သိတယ် ။
ကျတော်ကတော့ ChatGPT ထက်
တရုတ်ထုတ် DeepSeek ကို ပိုသုံးဖြစ်တယ်။
https://www.deepseek.com
🔥1
Ternary Operator in Java
Java မှာ ternary operator ဆိုတာက conditional (if-else) logic တွေကို တိုတောင်းစွာ ရေးသားနိုင်တဲ့ expression operator တစ်ခုဖြစ်ပါတယ်။ Ternary operator ကို conditional operator လို့လည်း ခေါ်ပါတယ်။ ternary operator က condition တစ်ခုကို စစ်ဆေးပြီး၊ ရလဒ်ပေါ်မူတည်ကာ value တစ်ခုကို return ပြန်ပါတယ်။
syntax
if else statement နဲ့ ပုံစံဖြစ်ပေမဲ့ သုံးဝင်တဲ့ နေရာပေါ် မူတည်ပြီး ကွဲပြားသွားပါတယ်။ if else သည် statement ဖြစ်ပြီး ternary operator သည် expression ဖြစ်ပါတယ်။ ဒီနေရာမှာ statement တွေဆိုတာကို ရှင်းပြမနေတော့ပါဘူး program စရေးကတည်းက statement တွေသုံးပြုပြီး ရေးလာတာ ဖြစ်ပါတယ်။
expression ဆိုတာ
( Java မှာ expression တွေက value တစ်ခု သို့မဟုတ် result တစ်ခုကို ထုတ်ပေးတဲ့ code တွေဖြစ်ပါတယ်။ Expression တွေမှာ arithmetic, relational, logical, assignment, conditional, နဲ့ method call expressions တွေ ပါဝင်ပါတယ်။ )
ဘယ်လိုနေရာမှာ သုံးသင့်လဲ
expression အနေနဲ့လိုချင်ရင် ternary operator ကိုသုံးသင့်ပြီး multiple result တွေ လိုချင်တဲ့ အခါ if else သုံးနိုင်ပါတယ်။
example
ကျတော်တို့က event number စစ်တဲ့ program လေးရေးမယ်ထား။ event number ဟုတ်ရင် event number ( or မဟုတ်ရင် odd number ) value တစ်ခု လိုချင်တယ်ဆိုရင် expression ပုံစံဖြစ်တဲ့ ternary operator ကို သုံးသင့်ပါတယ်။
code
String result = (number % 2 == 0) ? "Even Number" : "Odd Number"; ဆိုတဲ့ code သည် value တစ်ခုကို result ပြန်ပေးတဲ့ expression တစ်ခုဖြစ်ပါတယ်။ အတာကြောင့် result တစ်ခုကိုပဲ ပြန်ရမှာ ဖြစ်ပါတယ်။ တကယ်လို့ ကိုယ်က result တွေများများ ပြန်လိုချင်ရင်တော့ if else ကို သုံးနိုင်ပါတယ်။
number ကို မျိုးမျိုး ပြောင်းပြီး စမ်းကြည့်ပေးပါ။
Java မှာ ternary operator ဆိုတာက conditional (if-else) logic တွေကို တိုတောင်းစွာ ရေးသားနိုင်တဲ့ expression operator တစ်ခုဖြစ်ပါတယ်။ Ternary operator ကို conditional operator လို့လည်း ခေါ်ပါတယ်။ ternary operator က condition တစ်ခုကို စစ်ဆေးပြီး၊ ရလဒ်ပေါ်မူတည်ကာ value တစ်ခုကို return ပြန်ပါတယ်။
syntax
result = ( condition ) ? experessioni1 : expression2 ;
condition: စစ်ဆေးမယ့် condition ဖြစ်ပါတယ်။expression1: condition က true ဖြစ်ရင် return ပြန်မယ့် value ဖြစ်ပါတယ်။expression2: condition က false ဖြစ်ရင် return ပြန်မယ့် value ဖြစ်ပါတယ်။if else statement နဲ့ ပုံစံဖြစ်ပေမဲ့ သုံးဝင်တဲ့ နေရာပေါ် မူတည်ပြီး ကွဲပြားသွားပါတယ်။ if else သည် statement ဖြစ်ပြီး ternary operator သည် expression ဖြစ်ပါတယ်။ ဒီနေရာမှာ statement တွေဆိုတာကို ရှင်းပြမနေတော့ပါဘူး program စရေးကတည်းက statement တွေသုံးပြုပြီး ရေးလာတာ ဖြစ်ပါတယ်။
expression ဆိုတာ
( Java မှာ expression တွေက value တစ်ခု သို့မဟုတ် result တစ်ခုကို ထုတ်ပေးတဲ့ code တွေဖြစ်ပါတယ်။ Expression တွေမှာ arithmetic, relational, logical, assignment, conditional, နဲ့ method call expressions တွေ ပါဝင်ပါတယ်။ )
ဘယ်လိုနေရာမှာ သုံးသင့်လဲ
expression အနေနဲ့လိုချင်ရင် ternary operator ကိုသုံးသင့်ပြီး multiple result တွေ လိုချင်တဲ့ အခါ if else သုံးနိုင်ပါတယ်။
example
ကျတော်တို့က event number စစ်တဲ့ program လေးရေးမယ်ထား။ event number ဟုတ်ရင် event number ( or မဟုတ်ရင် odd number ) value တစ်ခု လိုချင်တယ်ဆိုရင် expression ပုံစံဖြစ်တဲ့ ternary operator ကို သုံးသင့်ပါတယ်။
code
int number = 10;
String result = (number % 2 == 0) ? "Even Number" : "Odd Number";
System.out.println(result);
String result = (number % 2 == 0) ? "Even Number" : "Odd Number"; ဆိုတဲ့ code သည် value တစ်ခုကို result ပြန်ပေးတဲ့ expression တစ်ခုဖြစ်ပါတယ်။ အတာကြောင့် result တစ်ခုကိုပဲ ပြန်ရမှာ ဖြစ်ပါတယ်။ တကယ်လို့ ကိုယ်က result တွေများများ ပြန်လိုချင်ရင်တော့ if else ကို သုံးနိုင်ပါတယ်။
number ကို မျိုးမျိုး ပြောင်းပြီး စမ်းကြည့်ပေးပါ။
❤1
OOP ( Object Oriented Programming )
OOP ဆိုတာ လက်တွေ့ကြတဲ့တွေးခေါ် တစ်ခုပါ။ အရာအားလုံးသည် object ဖြစ်ပါတယ်ဆိုတဲ့ အတွေးဖြစ်ပါတယ်။ Object သည် ထိ့တွေ့ နိုင်ရမယ် ၊ ခံစားနိုင်ရမယ် ၊ နည်းတစ်မျိုးမျိုးဖြင့် ရှိကြောင်း သက်သေပြနိုင်ရင် Object ဖြစ်ပါတယ်။ OOP ကြောင့် program တွေ များကြီး ရေးနိုင်လာခဲ့ကြပါတယ်။ Object-Oriented Programming (OOP) က real-world entities တွေကို objects အဖြစ် model လုပ်ပြီး program တွေကို ရေးသားတဲ့နည်းလမ်းဖြစ်ပါတယ်။ ဒီတွေးခေါ်ကြောင့်ပဲ တော်တော် တိုးတက်ပြောင်းလဲ လာခဲ့တာ ဖြစ်ပါတယ်။
မြင်နိုင်သမျှ ၊ ထိတွေနိုင်သမျှ ၊ ခံစားနိုင်သမျှ သည် object တွေဖြစ်ပါတယ်။ အတာဆို ကျတော်တို့ ပတ်ဝန်းကျင်မှာ ရှိတဲ့ object တွေကို ပြောကြည့်ကြပါမယ်။ ခုလက်ရှိ ထိတွေ့နေတာသည် Laptop or Phone ဖြစ်ပါတယ်။ Phone သည် ကိုင်လို့ရတယ် ၊ အရောင်ရှိတယ် ၊ အလေးချိန်ရှိတယ် ၊ ဖုန်းခေါ် လို့ရတယ် ၊ video တွေကြည့်လို့ရတယ် ၊ စာပို့လို့ရတယ် ၊ သတင်းဖတ်လို့ရတယ် များကြီး လုပ်လို့ရပါတယ်။ Object ဆိုတာ နားလည်သွားပြီလို့ ထင်ပါတယ်။ တွေးခေါ်် တတ်ပြီးလို့ ထင်ပါတယ်။ လူတစ်ယောက် နေမကာင်းဖြစ်ရင် နတ်တွေ သွားပူဇော်နေတာကလဲ OOP တွေးခေါ် မရှိတာလို့ ဆိုနိုင်ပါတယ် 😋။
ဒီလို များကြီး ရှိတဲ့ထဲကမှာ ထပ်ခွဲကြည့်ကြပါမယ်။ အရောင် ၊ အလေးချိန် တွေသည် လုပ်ဆောင်မှု တစ်ခုကို လုပ်ဆောင်းပေးတာ မဟုတဲ့အတွက် state ( data ) လို့ သတ်မှတ်ပါမယ်။ ဖုန်းခေါ် နိုင်ခြင်း ၊ စာပို့နိုင်ခြင်း ၊ video တွေ ကြည့်ခြင်းသည် လုပ်ဆောင်တာတွေ ဖြစ်တဲ့အတွက် behavior ( method or function ) လို့ ထပ်ခွဲလိုက်ပါမယ်။
state ( data ) = color, weight
method or function = ဖုန်းပြောလို့ရ ၊ ပုံရိုက်လို့ ရ ၊ video ကြည့်လို့ရ
အတာဆို ကျတော်တို့ ပတ်ဝန်းကျင်မှာ ရှိတဲ့ object အရာတိုင်းကို ကိုယ့်ဘာသာ ပြောကြည့်နိုင်ပါတယ် ၊ ခွဲကြည့်နိုင်ပါတယ်။ comment မှာ မန့်ခဲ့ကြပါ။
OOP မှာ Encapsulation, Inheritance, Polymorphism, နဲ့ Abstraction တို့ရှိသေးပေမဲ့ ဒီနေရာမှာ အတာတွေကို ရှင်းပြမှာ မဟုသေးပါဘူး။ OOP ရဲ့ပထမဆုံး တွေးပုံ တွေးနည်းကို ရှင်းပြချင်တာပါ။ နောက်ထပ် သိချင်တာရှိရင် မြန်မာဘာသာနှင့် ရေးသားထားတဲ့ ဒီစာအုပ်လေး မှာယူပြီး ဖတ်လို့ရပါတယ်နော် 😍 ။
OOP ဆိုတာ လက်တွေ့ကြတဲ့တွေးခေါ် တစ်ခုပါ။ အရာအားလုံးသည် object ဖြစ်ပါတယ်ဆိုတဲ့ အတွေးဖြစ်ပါတယ်။ Object သည် ထိ့တွေ့ နိုင်ရမယ် ၊ ခံစားနိုင်ရမယ် ၊ နည်းတစ်မျိုးမျိုးဖြင့် ရှိကြောင်း သက်သေပြနိုင်ရင် Object ဖြစ်ပါတယ်။ OOP ကြောင့် program တွေ များကြီး ရေးနိုင်လာခဲ့ကြပါတယ်။ Object-Oriented Programming (OOP) က real-world entities တွေကို objects အဖြစ် model လုပ်ပြီး program တွေကို ရေးသားတဲ့နည်းလမ်းဖြစ်ပါတယ်။ ဒီတွေးခေါ်ကြောင့်ပဲ တော်တော် တိုးတက်ပြောင်းလဲ လာခဲ့တာ ဖြစ်ပါတယ်။
မြင်နိုင်သမျှ ၊ ထိတွေနိုင်သမျှ ၊ ခံစားနိုင်သမျှ သည် object တွေဖြစ်ပါတယ်။ အတာဆို ကျတော်တို့ ပတ်ဝန်းကျင်မှာ ရှိတဲ့ object တွေကို ပြောကြည့်ကြပါမယ်။ ခုလက်ရှိ ထိတွေ့နေတာသည် Laptop or Phone ဖြစ်ပါတယ်။ Phone သည် ကိုင်လို့ရတယ် ၊ အရောင်ရှိတယ် ၊ အလေးချိန်ရှိတယ် ၊ ဖုန်းခေါ် လို့ရတယ် ၊ video တွေကြည့်လို့ရတယ် ၊ စာပို့လို့ရတယ် ၊ သတင်းဖတ်လို့ရတယ် များကြီး လုပ်လို့ရပါတယ်။ Object ဆိုတာ နားလည်သွားပြီလို့ ထင်ပါတယ်။ တွေးခေါ်် တတ်ပြီးလို့ ထင်ပါတယ်။ လူတစ်ယောက် နေမကာင်းဖြစ်ရင် နတ်တွေ သွားပူဇော်နေတာကလဲ OOP တွေးခေါ် မရှိတာလို့ ဆိုနိုင်ပါတယ် 😋။
ဒီလို များကြီး ရှိတဲ့ထဲကမှာ ထပ်ခွဲကြည့်ကြပါမယ်။ အရောင် ၊ အလေးချိန် တွေသည် လုပ်ဆောင်မှု တစ်ခုကို လုပ်ဆောင်းပေးတာ မဟုတဲ့အတွက် state ( data ) လို့ သတ်မှတ်ပါမယ်။ ဖုန်းခေါ် နိုင်ခြင်း ၊ စာပို့နိုင်ခြင်း ၊ video တွေ ကြည့်ခြင်းသည် လုပ်ဆောင်တာတွေ ဖြစ်တဲ့အတွက် behavior ( method or function ) လို့ ထပ်ခွဲလိုက်ပါမယ်။
state ( data ) = color, weight
method or function = ဖုန်းပြောလို့ရ ၊ ပုံရိုက်လို့ ရ ၊ video ကြည့်လို့ရ
အတာဆို ကျတော်တို့ ပတ်ဝန်းကျင်မှာ ရှိတဲ့ object အရာတိုင်းကို ကိုယ့်ဘာသာ ပြောကြည့်နိုင်ပါတယ် ၊ ခွဲကြည့်နိုင်ပါတယ်။ comment မှာ မန့်ခဲ့ကြပါ။
OOP မှာ Encapsulation, Inheritance, Polymorphism, နဲ့ Abstraction တို့ရှိသေးပေမဲ့ ဒီနေရာမှာ အတာတွေကို ရှင်းပြမှာ မဟုသေးပါဘူး။ OOP ရဲ့ပထမဆုံး တွေးပုံ တွေးနည်းကို ရှင်းပြချင်တာပါ။ နောက်ထပ် သိချင်တာရှိရင် မြန်မာဘာသာနှင့် ရေးသားထားတဲ့ ဒီစာအုပ်လေး မှာယူပြီး ဖတ်လို့ရပါတယ်နော် 😍 ။
❤2