Data Structures & Algorithms Using Python

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Course Orientation Data Structure and Algorithms ( )
Advertisements

Data structure & Algorithms
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
Searching.
โครงสร้างข้อมูลและขั้นตอนวิธี (Data Structures and Algorithms)
Programming Languages ธนวัฒน์ แซ่เอียบ โฮมเพจรายวิชา
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
BC322 : Computer Programing (ครั้งที่ 1)
แนวทางการสอน เพื่อพัฒนาทักษะเด็กตามรูปแบบการสอน
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
1 Search & Sort Search & Sort วรวิทย์ พูลสวัสดิ์.
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
DATA STRUCTURE AND ALGORITHM Linked List.
รศ. ดร. บุญธีร์ เครือตราชู รศ. กฤตวัน ศิริบูรณ์ KMITL Data Structures & Algorithms : Stack & Queue 1 Stack & Queue Lecturers : Boontee Kruatrachue.
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
รศ. ดร. บุญธีร์ เครือตราชู รศ. กฤตวัน ศิริบูรณ์ KMITL Data Structures & Algorithms : Recursion 1 Recursion Lecturers : Boontee Kruatrachue Room.
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
IT Manual SCM June 2016 By Prasert Dokmuang. 2 3.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
บทที่ 3 นักวิเคราะห์ระบบและการ วิเคราะห์ระบบ. 1. นักวิเคราะห์ระบบ (System Analysis) 1.1 ความหมายของนักวิเคราะห์ระบบ นักวิเคราะห์ระบบ (System Analysis:
Queue Lecturer : Kritawan Siriboon, Room no. 913
ACM ICPC Training Nattee Niparnan.
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Lecturers : Boontee Kruatrachue. Room no. 913 Kritawan Siriboon
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Chapter 4 ข้อความสั่ง เลือกทำ.
Lecturers : Boontee Kruatrachue. Room no. 913 Kritawan Siriboon
โครงสร้างข้อมูลและอัลกอริทึมเบื้องต้น
เริ่มต้นออกแบบ Unit7.
Lecturers : Boontee Kruatrachue. Room no. 913 Kritawan Siriboon
การจัดการระบบฐานข้อมูล ภาษาที่ใช้ในระบบจัดการฐานข้อมูล
การวิเคราะห์และออกแบบขั้นตอนวิธี
บทที่ 5 เครื่องมือสืบค้นข้อมูล (Search Engine)
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Complexity Lecturers : Boontee Kruatrachue Room no Kritawan Siriboon Room no. 913 Text : Data Structures & Algorithm.
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
Vernier เวอร์เนียร์ คือเครื่องมือที่ใช้วัดระยะ (distance) หรือ ความยาว (length) ให้ได้ค่าอย่างละเอียด เวอร์เนียร์ต่างจากไม้บรรทัดทั่วๆไป เพราะมี 2 สเกล.
SPEI R & R Studio Program User Manual.
Linked List Lecturer : Kritawan Siriboon, Room no. 913
B92 Protocol Alice สุ่ม string a string a (data bits)
Asst.Prof. Dr.Surasak Mungsing
บทที่ ๒ เรื่องที่ ๑๐ การค้นคว้าหาความรู้ทาง อินเทอร์เน็ต
การบริหารจัดการหนี้ค้างชำระ กองทุนพัฒนาบทบาทสตรี
สำนักพัฒนาระบบและรับรองมาตรฐานสินค้าปศุสัตว์ กรมปศุสัตว์
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
โครงสร้างข้อมูลและขั้นตอนวิธี (Data Structures and Algorithms)
FinApp Manual คืออะไร คือระบบการนำงานคู่ขนานกับ ระบบ FinApp ที่อยู่ใน Portal ของ สำนักงาน ป.ป.ช. FinApp Manual คือระบบที่รายงานการเบิกจ่ายงบประมาณที่เป็นตัวเลข.
SPI R & R Studio Program User Manual.
บทที่ 10 การค้นหาข้อมูล (Searching)
NetLibrary จัดทำโดย งานบริการสารสนเทศ ฝ่ายบริการ สำนักหอสมุดกลาง มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ.
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
Data Structures and Algorithms 2/2561
Data Structures & Algorithms Using Python
Data Structures and Algorithms 2/2561
บทที่ 7 การประมวลผลอาร์เรย์
2 โครงสร้างข้อมูลแบบสแตก (STACK).
3 โครงสร้างข้อมูลแบบคิว (QUEUE).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
4 โครงสร้างข้อมูลแบบลิงค์ลิสต์ (LINKED LIST).
Decision: Single and Double Selection (if and if-else statement)
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 12: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Dynamic.
เอกสารประกอบการบรรยาย การประชุมเชิงปฎิบัติการ การจัดทำแผนฯ
ใบสำเนางานนำเสนอ:

Data Structures & Algorithms Using Python Lecturers : Kritawan Siriboon Room no. 913 Boontee Kruatrachue Room no. 913

Main Course Material : www.ce.kmitl.ac.th click : Subject Data Structures and Algorithms and Lab

ใช้เนื้อหาตาม lecture slide Additional Text Book ใช้เนื้อหาตาม lecture slide หากอยากอ่าน text เพิ่มเติม search : Data Structures, Algorithms, using pythonเช่น Free Online Book : http://interactivepython.org/courselib/static/pythonds/index.html https://www.amazon.com/Problem-Solving-Structures-Algorithms- Python/dp/1541128257/ref=sr_1_5?ie=UTF8&qid=1483445752&s=books &sr=1-5 https://www.amazon.com/Problem-Solving-Algorithms-Structures- Python/dp/1590282574/ref=pd_bxgy_14_img_2?_encoding=UTF8&pd_rd _i=1590282574&pd_rd_r=6TRCTXQRF26DB6NQFHDW&pd_rd_w=bBaUI& pd_rd_wg=rKP7Z&psc=1&refRID=6TRCTXQRF26DB6NQFHDW Paperback: 438 pages Publisher: Franklin, Beedle & Associates; 2nd edition (August 22, 2011) Product Dimensions: 7.5 x 0.9 x 9.2 inches ISBN-13: 978-1590282571 ISBN-10: 1590282574

Additional Text Book “Data Structures & Algorithms in Python” Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Free Online Book : it-ebooks.info/book/2467/

หาเหรียญจริง 1 เหรียญ จริง หนัก > ปลอม Your Algorithm ? จริง หนัก > ปลอม Your Algorithm ? (วิธี(แก้ปัญหา)) หาเหรียญจริง 1 เหรียญ

Algorithm 1 : Two coins at a time ชั่งกี่ครั้ง ? Best Case ดีที่สุด Worst Case แย่ที่สุด Average Case เฉลี่ย 1 n/2 n/2

Algorithm 2 : Cutting Half ชั่งกี่ครั้ง ? Best Case 1 Worst Case log2n ครั้งที่ เหลือ 1 แบ่งครึ่งชั่ง Algorithm ? n/2 = n/21 = n/22 = n/23 ... = n/2d n 2 = 1 *2 *2....*2 2 n/4 d ครั้ง เศษ ? 3 n/8 ... ... d = log2n d 1 2d = n d = log2n

Q Data Structure ใส่ ควีน 8 ตัว บนกระดาน 8 x 8 Algorithm The Eight Queen Problem ใส่ ควีน 8 ตัว บนกระดาน 8 x 8 โดยไม่ให้กินกันได้เลย Algorithm Data Structure ? จะเก็บ ควีน 8 ตัว อย่างไร ?  Data Structure of 8 queens การแก้ปัญหาโดย algorithm ใดๆ จำเป็นต้องเก็บ data มี 92 solutions หากนับ solutions ที่ symmetry กันของ board (rotations & reflections) เป็นอันเดียวกันจะมี 12 unique solutions Data Structure : โครงสร้างทั้งหมดที่ใช้เก็บ data จาก primitive data type ที่มีอยู่แล้ว (ของภาษาที่เลือกใช้)

The Eight Queen Problem Data Structures Data Structure 1 : C : 2D array, Pythhon : list of list Data Structure 2 : C : 1D array, Python : list 1 2 3 4 5 6 7 Q col 3 1 6 2 5 7 4 (0,3) row (0,3) (1,1) (2,6) (3,2) (6,5) (5,7) (6,4) (7,0) (1,1) (2,6) #Python list of list board = [[0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0]] board[0][3] = 1 board[1][1] = 1 #. . . l = [[1,2,3],[4,5,6]] for ele1 in l: for ele2 in ele1: print(ele2) #Python list b = [-1,-1,-1,-1,-1,-1,-1,-1] b[0] = 3 b[1] = 1 b[2] = 6 b[3] = 2 b[4] = 5 b[5] = 7 b[6] = 4 b[7] = 0 for ele in b: print(ele) b = [-1]*8 (3,2) (6,5) (5,7) (6,4) [1, 2, 3] [4, 5, 6] 3 1 6 2 5 7 4 (7,0) 1 2 3 4 5 6

Data Structures & Algorithms Data Structures : Abstract Data Types : Linked List, Stack, Queue, Trees, Heap, Graph. Algorithms : Recursion, Complexity (Algorithm Analysis) , Hashing, Searching, Sorting.