พูดง่ายๆแล้ว Big-O Notation หรือ สัญกรณ์โอใหญ่ คืออะไรที่ช่วยเราประมาณ ว่าเวลาในการรันอัลกอริธึม(ส่วนใหญ่จะคิดในกรณีที่แย่ที่สุด หรือ worst-case) จะเป็นประมาณเท่าไหร่ หรือ จะใช้ประมาณเมมโมรี่ที่ใช้ก็ได้
ในบล็อกโพสต์นี้ จะขออธิบายการหา Big-O คร่าวๆก่อน (มีภาคต่อภายหลัง)
สมมติว่ามีโปรแกรมนี้อยู่
for(i=0;i<N;i++) a+=i;
จะสังเกตได้ว่า โปรแกรมนี้จะทำงาน
- บรรทัดแรก ครั้งแรกตอนกำหนด 
- บรรทัดแรก อีกประมาณ
รอบเวลาเช็คว่าผิดเงื่อนไขหรือยัง และตอนเพิ่มค่าที่ i
- และทำงานบรรทัดที่สอง
รอบ
ดังนั้น โปรแกรมนี้ทำงานประมาณ
คำสั่งด้วยกัน
ถ้า
มีค่าเท่ากับ 10 จะทำงานประมาณ 32 คำสั่ง
ถ้า
มีค่าเท่ากับ 20 จะทำงานประมาณ 62 คำสั่ง
ถ้า
มีค่าเท่ากับ 100 จะทำงานประมาณ 302 คำสั่ง
หมายเหตุ: เพราะเป็นการประมาณ จึงถือว่าคำสั่งทุกคำสั่งใช้เวลาเท่าๆกัน (ใช้เวลาคงที่)
เพิ่มไปกี่เท่า จำนวนคำสั่ง(เวลาที่ใช้)ก็จะเพิ่มไปเท่านั้นโดยประมาณ
แบบนี้เรียกว่า โปรแกรมนี้รันในเวลา 
คิดจากการ นำจำนวนคำสั่งมา
เลือกพจน์ที่มีเลขชี้กำลังสูงสุด(สำหรับกรณีนี้คือ
) ตัดสัมประสิทธ์ออก เหลือ 
ลองเทียบกับโปรแกรม
ที่รัน
คำสั่งดู
ถ้า
มีค่าเท่ากับ 10 จะทำงานประมาณ 110 คำสั่ง
ถ้า
มีค่าเท่ากับ 20 จะทำงานประมาณ 420 คำสั่ง
ถ้า
มีค่าเท่ากับ 100 จะทำงานประมาณ 10100 คำสั่ง
เวลาที่ใช้จะเพิ่มขึ้นอย่างรวดเร็ว
ถ้านำกรณีแรกไปวาดกราฟ จะได้กราฟเส้นตรง
ถ้านำกรณีที่สองไปวาดกราฟ จะได้กราฟพาราโบลา
จะไม่คิดจำนวนครั้งอย่างละเอียดเหมือนในตัวอย่างข้างบนแล้ว แต่จะคิดอย่างคร่าวๆแทน
กำหนด string เป็นอาเรย์ของ char ความยาว 
if(string[0]=='a') printf("yes\n"); else printf("no\n"); printf("%d\n", N*(N+1));
ในตัวอย่างนี้ ไม่ว่า
จะมีค่าเท่าไหร่ แต่ว่าจำนวนคำสั่ง(เวลา)ในการรันก็เท่าเดิม
ดังนั้น โปรแกรมนี้รันในเวลาคงตัว (constant) หรือเขียนได้ว่า 
for(i=0;i<N;i++) if(string[i]=='a') { printf("yes\n"); break; } if(i==N) printf("no\n");
ในตัวอย่างนี้ เราอาจจะเจอตัว ‘a’ ตัวแรก ตั้งแต่อาเรย์ช่องแรกๆ หรืออาจจะไม่เจอเลยก็ได้
อาจจะต้องวิ่งในลูป 1 รอบ 2 รอบ หรือ กรณีที่แย่ที่สุด
รอบ
เพราะเราคำนวณกรณีที่แย่ที่สุด ดังนั้นโปรแกรมนี้รันในเวลา 
for(i=0;i<N;i++) a = a+2; for(i=0;i<N;i++) b = b+a;
ในตัวอย่างนี้ เราทำลูปแรก
ครั้ง ลูปที่สอง
ครั้ง
รวมเป็น
ซึ่งเท่ากับ
นั่นเอง
for(i=0;i<N;i++) for(j=0;j<M:j++) a+=i*j;
สังเกตว่ามีตัวแปร 2 ตัวใน Big-O ได้
for(i=0;i<N;i++) k++; for(j=0;j<M;j++) k++;

for(i=0;i<N;i++) for(j=i;j<N;j++) printf("*"); printf("\n");
ครั้งทุกรอบ
วน
ครั้ง


for(i=0;i<strlen(string);i++) printf("%c", string[i]);
ตัวอย่างนี้ ดูเผินๆ เหมือนจะเป็นโปรแกรมที่รันใน 
แต่ว่า! เนื่องจาก ในการวนลูป โปรแกรมจะต้องเรียก strlen(string) ใหม่ทุกรอบ
ซึ่งการหา strlen แต่ละครั้งนั้นใช้เวลา 
ดังนั้นโปรแกรมนี้จึงใช้เวลา 
หากแก้ไขให้ใช้เวลา
อาจทำเช่นนี้
int k = strlen(string); for(i=0;i<k;i++) printf("%c", string[i]);
(โปรดแรเงาเพื่อดูเฉลย)
1.
for(i=0;i<N;i++) k++; for(j=0;j<M;j++) k++; for(i=0;i<M;i++) for(j=0;j<M;j++) k++; for(i=0;i<10;i++) k++;
2.
for(i=0;i<N;i++) for(j=5;j<N-2;j++) for(k=0;k<N/2;k++) printf("a");
3.
กำหนด myFunc()
myFunc() { int i; for(i=0;i<M;i++) a[i]++; return a[0]; }
for(i=0;i<5;i++) for(j=0;j<N;j++) for(k=j;k<N;k++) printf("%d", myFunc());
Comments
vbvqqvRwTzXExKkFzc
home insurance quotes gkckv health insurance 9668 health insurance florida =D cheap life insurance ihy car insurance qoutes 295567
viagra
Hello! viagra , buy cialis , cheap viagra , cheap viagra , cheap viagra ,
viagra
Hello! viagra , viagra , buy cialis , viagra online , cheap viagra ,
cheap viagra
Hello! cheap viagra , viagra online , cheap viagra , cialis , viagra ,
viagra
Hello! viagra , viagra , viagra , cheap viagra , cheap viagra ,
viagra
Hello! viagra , cialis , cheap viagra , viagra online , cheap viagra ,
cheap viagra
Hello! cheap viagra , cialis , cheap viagra , viagra , cheap viagra ,
cheap viagra
Hello! cheap viagra , viagra , viagra online , buy viagra , cheap viagra ,
viagra
zRCfRd http://cahtrh.com/ MMxITS [url=http://dhduxj.com/]MMxITS[/url]
buy cialis
Hello! buy cialis ,
viagra online
Hello! viagra online ,
cialis
Hello! cialis ,
viagra
Hello! viagra ,
viagra
Hello! viagra ,
cheap viagra
Hello! cheap viagra , viagra , cialis , buy cialis , viagra ,
cheap viagra
Hello! cheap viagra ,
buy viagra
Hello! buy viagra ,
viagra
Hello! viagra ,
viagra
Hello! viagra ,
viagra online
Hello! viagra online ,
cialis
Hello! cialis ,
cheap viagra
Hello! cheap viagra ,
cialis
Hello! cialis ,
cheap viagra
Hello! cheap viagra ,
cialis
Hello! cialis ,
viagra
ETSnxg http://jlxbig.com/ nJxudJev [url=http://utbarr.com/]nJxudJev[/url]
cheap cialis
Hello! cheap cialis , viagra , cheap cialis , cialis , cialis ,
Alife Shoes Mens
Ralph Lauren PolosIf you do and Fitch Clothingnot still ownPolo Solida pair of NikeLacoste Polo RT1 HighWomen Hoodies in your sneakerPolo T-shirtcloset collectionRalph Lauren long sleeve missing a Ralph Lauren Custom-Fithen you areMatch Polotgreat deal ofRalph Lauren Shirtsyour sneaker fashionPolo Shirtswardrobe. WhenPolo Outletsense for yourClassic-Fitthis pair wasWomen Lacostefirst introducedRalph Lauren Shortspopularly and and fitch Shirtsit was seenSuprasMany hip hopSkytop artists haveSupra vaider a strong passionSupras Salefor sneakers.Radii ShoesWest and Drake Kobe Shoes Wale, KanyeLebron James Shoes have all showed Asics Shoes us their best heat.Supra vulk However FatAlife ShoesJoe may be theSupra Shoesbest of the bestcheap supras for saleWe all know Supra TK how much FatCheap Supra Joe loves hisCreative Recreation sneakers. If Air Yeezy.you rememberSkytops Fat JoeHigh Topslicked the bottom
Alife Shoes Mens
Ralph Lauren PolosIf you do and Fitch Clothingnot still ownPolo Solida pair of NikeLacoste Polo RT1 HighWomen Hoodies in your sneakerPolo T-shirtcloset collectionRalph Lauren long sleeve missing a Ralph Lauren Custom-Fithen you areMatch Polotgreat deal ofRalph Lauren Shirtsyour sneaker fashionPolo Shirtswardrobe. WhenPolo Outletsense for yourClassic-Fitthis pair wasWomen Lacostefirst introducedRalph Lauren Shortspopularly and and fitch Shirtsit was seenSuprasMany hip hopSkytop artists haveSupra vaider a strong passionSupras Salefor sneakers.Radii ShoesWest and Drake Kobe Shoes Wale, KanyeLebron James Shoes have all showed Asics Shoes us their best heat.Supra vulk However FatAlife ShoesJoe may be theSupra Shoesbest of the bestcheap supras for saleWe all know Supra TK how much FatCheap Supra Joe loves hisCreative Recreation sneakers. If Air Yeezy.you rememberSkytops Fat JoeHigh Topslicked the bottom
cheap viagra
Hello! cheap viagra , cialis , cialis , cheap viagra , cialis ,
cialis
Hello! cialis ,
cialis
Hello! cialis ,
viagra online
Hello! viagra online ,
buy cialis
Hello! buy cialis ,
cialis
Hello! cialis ,
viagra
Hello! viagra ,
viagra
Hello! viagra ,
viagra online
Hello! viagra online ,
viagra
Hello! viagra ,
cialis
Hello! cialis , cheap cialis , viagra , viagra , cialis ,
cheap cialis
Hello! cheap cialis ,
cheap cialis
Hello! cheap cialis ,
cialis
Hello! cialis ,
cialis
Hello! cialis ,
cheap viagra
Hello! cheap viagra ,
cheap cialis
Hello! cheap cialis ,
cialis online
Hello! cialis online ,
cialis
Hello! cialis ,
cialis
Hello! cialis ,
cheap cialis
Hello! cheap cialis ,