3 ผ่าน (เวลาผ่าน รายได้ผ่าน เรียนผ่าน)

Posted on December 11, 2014 (45 views)

Intro..
..เวลาก็ยังคงเดินด้วยความเร็วเท่าๆกันทุกๆวัน ความรู้สึกของคนเราเท่านั้นล่ะที่มโนเอาไปว่าเวลามันเดินเร็ว และมันเป็นมาอย่างนี้มาโดยตลอด อะไรต่างๆเกิดขึ้นในช่วงเวลาที่ผ่านมามากมาย มีทั้งที่ทำให้เรามีความสุข และความทุกข์ผสมปนๆกันไป ผมนั่งเขียนบทความ Entry นี้ไป นั่งคิดนั่งนึกถึงเรื่องราวในช่วงเวลาหนึ่งปีที่กำลังจะผ่านไปอีกแล้ว..

เวลาผ่าน..
ณ เวลานี้ที่ผมนั่งพิมพ์บทความตามความคิดสดๆ ร้อนๆ ตรงนี้ใกล้ครบ 1 ปีอีกแล้ว (บทความปี 2014) ในปี 2014 หรือพ.ศ. 2557 นั้นผมเองลองกลับไปดูตัวบทความที่พิมพ์ไว้ไม่ได้ระบุไว้ว่าเป้าหมายของปีนี้เลยว่าต้องทำอะไรให้สำเร็จ คิดไปก็ยังไม่เข้าใจเหมือนกันว่าทำไม่ได้ได้ตั้งเป้าหมายไว้ หลายคนชอบบ่นให้ผมฟังว่าไม่มีเวลา.. ผมว่าจริงๆในทุกๆวันเรามีเวลาเท่ากันนะครับ 24 ชั่วโมงที่เราจะเลือกทำอะไร เรากำหนดมันได้ เลือกที่จะนอนอยู่บนที่นอนสบายๆ …

#INT602 Sorting (3/3) [Merge Sort, Quick Sort, Sorting Large Records , External Sorting]

Posted on November 11, 2014 (98 views)

Merge Sort
ที่เรียก Merge Sort เพราะใช้เทคนิค Merge เป็น Lists ที่ Sort แล้ว 2 อันมาทำการ Merge กัน (BigO = N Log N) โดยวิธีง่ายๆที่ทำกันอยู่คือมี Array 3 อัน เช่น A, B เก็บข้อมูลที่ Sort แล้ว และ Array C ไว้เก็บผลลัพธ์ โดยการเปรียบเทียบใน Array 2 อันนั้น จะดูว่าตัวไหนน้อยกว่าก็ Copy ไปเก็บไว้ใน …

#INT602 Sorting (2/3) [ Shell Sort, Heap Sort]

Posted on November 11, 2014 (93 views)

Shell Sort
จริงๆแล้ว Shell Sort ควรจะเรียกว่า Diminishing increment sort เพราะเทคนิคที่ใช้คือมีการใช้ Increment หลายๆค่า โดยเริ่มจากค่าที่มากไปยังค่าที่น้อย แต่ชื่อมันยาวก็เลยเรียก Shell Sort และอีกประการหนึ่งคือคนที่คิดชื่อ D.L. Shell (1959) ประเด็นสำคัญของ Shell Sort จะมีเรื่อง increment sequence เข้ามาเกี่ยวข้อง โดยลักษณะของ sequence จะเป็นลักษณะ h1, h2, … , ht และโดยส่วนใหญ่ h1=1

แต่จริงๆแล้ว shell sort เริ่มมาจากการ insertion …

#INT602 Sorting (1/3) [Insertion Sort, Selection Sort, Bubble Sort , Cocktail Shaker Sort]

Posted on November 10, 2014 (101 views)

Sorting การจัดเรียงข้อมูล ทำไมถึงต้องเรียน Sorting เพราะอย่างหนึ่งคือเป็นพื้นฐานของ Algorithm และอีกอย่างหนึ่งคือมันน่าสนใจ โดยการ Sorting มีหลายวิธีในการทำ และแต่ละวิธีก็จะมีประสิทธิภาพที่แตกต่างกัน ณ ปัจจุบันนี้ความจพเป็นในการเขียน code น้อยเพราะสามารถหาข้อมูลได้จาก Internet ทั่วไป

Differences in environment  เป็นการแบบการเก็บข้อมูลใน Memory ซึ่งจะได้สองลักษณะคือ

External Sorting กรณีนี้ข้อมูลที่เก็บได้ไม่ได้เก็บไว้ใน Main Memory อาจจะเก็บไว้ใน External Hard disk, Tapes หรืออื่นๆ Algorithm ที่เกิดขึ้นมาสำหรับ External Sorting ไม่เยอะเพราะถูกจำกัดจากคุณลักษณะของที่ที่เก็บข้อมูล เช่นการเก็บข้อมูลใน Disk ก็จะสามารถ …

#INT602 Priority Queues (3/3) [Binomial Queues]

Posted on November 08, 2014 (91 views)

Binomial Queues
คุณสมบัติของ Priority Queues ทั่วไปที่เป็น Heap ไม่สนับสนุนการ Merge ทำให้ Binomial Queues เป็น Priority Queues ที่สนับสนุนการ Merge นั้นเองโดยสามารถใช้ Insert และ DeleteMin ได้ปกติ

Binomial Queues Structure คุณสมบัติโครงสร้างอาจจะดูซับซ้อน แต่คุณสมบัติลำดับยังเหมือนกับ Heap ทั่วไป เพราะค่าที่ Root Node จะมีค่า Priority สูงที่สุด ความแตกต่างคือมันจะมี Heap หรือ Trees หลายๆต้นได้ใน Binomial Queues …

#INT602 Priority Queues (2/3) [Basic Heap Operations]

Posted on November 07, 2014 (103 views)

Insert  การเพิ่มข้อมูลเข้าไปใน Heap นั้นจะพิจารณาโครงสร้างก่อนหลังจากนั้นจะพิจารณาลำดับทีหลัง เมื่อถึงขั้นตอนตรวจสอบหรือพิจารณาลำดับแล้วนั้นในหนังสือที่เรียนจะใช้คำว่า “Percolate up” ซึ่งลักษณะที่เกิดขึ้นจะมีการปรับตำแหน่งของค่าที่ Inert เข้าไปเมื่อมีค่า Priority ที่มากกว่านั้นเอง ตัวอย่างการ Insert ดังนี้

DeleteMin การลบค่า Node ซึ่งเป็นการการเพราะใน Heap ค่าน้อยสุดหรือที่มี Priority มากที่สุดจะอยู่ตรง Root Node ตัอย่างเช่น…

#INT602 Priority Queues (1/3) [Binary Heap, Structure Property, Heap Order Property]

Posted on October 31, 2014 (190 views)

 ทำไมต้องมี Priority Queues ? เพราะบางอย่างมันฉุกเฉิน บางอย่างมันจำเป็น เช่น ในชีวิตประจำวันรถพยาบาลรับคนเจ็บในกรณีฉุกเฉิน ควรจะมี Priority Queue ตัวอย่างในทางเทคนิคเช่นใน OS จำเป็นต้องมี Priority Queue ในการ Task Program ที่ทำงานอยู่ ในการทำงานหลายๆโปรแกรมพร้อมๆกัน อย่างที่เราเคยชินคือเปิดเพลงฟังไปด้วย เปิดเว็บไซต์อ่านข้อมูลไปด้วย หรือเกิดอยากเล่นหุ้น เปิดตารางหุ้นไปด้วย และอาจจะกำลังพิมพฺ์งานอยู่ด้วย OS จำเป็นต้องรู้ว่ามี Task …

บรรยายประสบการณ์ธุรกิจ ตอน เรื่องเล่าจากพี่ถึงน้อง

Posted on October 14, 2014 (168 views)

ช่วงสัปดาห์ที่ผ่านมามีโอกาสได้ไปเป็นหนึ่งในผู้บรรยายเกี่ยวกับผู้ประกอบการ ประสบการณ์ในการทำธุรกิจ รู้สึกยินดีมากที่นานๆจะได้ทำอะไรอย่างนี้ ได้กลับมาจับไมค์อีกครั้งหลังจากไม่ได้ไปยืนพูดบรรยายหน้าห้องที่มีคนฟังเยอะๆ นานมามากแล้ว.. ตื่นเต้นดีครับ ซึ่งผมได้เดินทางไปบรรยายที่ มหาวิทยาลัยสงขลานครินทร์ วิทยาเขตสุราษฎร์ธานี ใช้บริการสายการบิน AirAsia อย่างเคยครับกำหนดการวันเวลาบินก็ดังนี้ครับ

ครั้งนี้บอกตามตรงช่วงเช้าของวันที่ 6 มีเรื่องยุ่งๆหลายอย่างก่อนจะได้ออกจากบ้านต้องเตรียมเอกสารสำหรับส่งสินค้าที่เตรียมส่งออก ทำเอาไปถึงสนามบินสายเกือบตกเครื่องกันเลยครับ ต้องบอกเลยว่าพนักงานสายการบินตรงเคาน์เตอร์ด้านหน้าจุดเช็คอินบริการไม่ค่อยดีครับ พูดจาไม่ค่อยสุภาพเท่าไหร่ แต่ก็เอาเถอะผมไปสายเองยอมรับผิดไม่อยากจะโวยวาย..

ไปถึงสุราษฎร์ฯ ก็มีเพื่อนหน้าตาดีใจดีทั้งสองท่านมารอรับ (joyjeaun.zaymagutae, HengPSU) ต้องขอบคุณมากกันเลยครับ ทำเอาสะดวกสะบายแบบชิวๆ ไปตลอดทาง แถมมีเพื่อนอย่าง ctonz ให้ที่พักพิงซุกหัวนอนโดยไม่มีค่าใช้จ่ายครับ เรียกได้ว่าความสบายคูณสองกันเลยครับ แต่น่าเสียดายที่รอบนี้เจ้าบ้าน …

#INT602 Hashing

Posted on September 03, 2014 (183 views)

Hashing เป็นการเก็บข้อมูลในตาราง ด้วยเวลาคงที่โดยเฉลี่ย..

General Idea ค่าที่ได้ใน TableSize เริ่มต้นที่ 0 เพราะมีความหมายกับผลลัพธ์ เพราะค่าอาจจะได้ออกมาเป็น 0 นั้นเอง

Hash Table เป็นวิธีเก็บข้อมูลในตารางโดยใช้ Key อ้างอิงไปในตารางส่วนใหญ่เป็นตัวเลข Alpha base, Alphanumeric ฯลฯ

ตัวอย่างการเก็บค่าใน Hash Table ซึ่งการนำค่าไปเก็บนั้นขึ้นอยู่กับการเลือก Function ของผู้ใช้งาน โดยจากรูปอาจจะกำหนดค่าจากตัวเลขของตารางมาอ้างอิงชื่อ หรือเพื่อ Insert ข้อมูลลงไปนั้นเอง
Hash Function
ผลลัพธ์ที่ได้จาก …

#INT602 B-Trees

Posted on September 03, 2014 (205 views)

B-Trees เป็น Search Trees ลักษณะหนึ่ง ข้อมูลเก็บใน Terminal Nodes เท่านั้น และข้อมูลจะเรียงจากน้อยไปหามาก

จากรูปภาพ B-Tree ที่มี Order = 4 ค่าของ Terminal Nodes จะมีค่าได้ไม่เกิด 4 กลุ่ม ในแต่ละ Sub Trees นั้นๆ  ค่าของตัวเลขบน Root Node …