Data Structures Algorithms In this course Data Structures

  • Slides: 8
Download presentation

Data Structures & Algorithms In this course, Data Structures & Algorithms : 1. Data

Data Structures & Algorithms In this course, Data Structures & Algorithms : 1. Data Structures abstract data types : stack, queue, linked list, trees, heap, graph. 2. Algorithms : recursion, complexity (algorithm analysis) , hashing, searching, sorting. รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL 01076249 Data Structures & Algorithms : Tree 22

Queue แถวคอย ? http: //www. gograph. com/vector-clip-art/queue. html รศ. ดร. บญธร เครอตราช รศ. กฤตวน

Queue แถวคอย ? http: //www. gograph. com/vector-clip-art/queue. html รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL 01076249 Data Structures & Algorithms : Tree 23

Queue แถวคอย Queue : ����������� ordered collection of items ���������� rear/tail �������� FIFO List

Queue แถวคอย Queue : ����������� ordered collection of items ���������� rear/tail �������� FIFO List (en. Queue) First. In. First. Out ���������� front/head �������� (de. Queue) front head de. Queue (delete) รศ. ดร. บญธร เครอตราช rear tail Next ! Oh my turn Who ? รศ. กฤตวน ศรบรณ en. Queue (insert) KMITL I need some ! Where should I go ? 01076249 Data Structures & Algorithms : Tree 24

Queue Implementation ? Logical ADT : 1. Data : ของมลำดบ มปลายบนPython List i =

Queue Implementation ? Logical ADT : 1. Data : ของมลำดบ มปลายบนPython List i = S. pop() อนทาย 2. Methods : 1. init empty queue init() self. item 2. enqueue i ท rear enqueue(i) self. items. append(i) ททาย 3. dequeue i ท front i = dequeue() 4. empty ? b = is. Empty() 5. full ? b = is. Full() = [] self. items. pop(0) ทหว 0 de. Queue 6. หาจำนวนของใน queuei = size() index en. Queue front head rear tail FIFO Last in First out รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL 01076249 Data Structures & Algorithms : Tree 25

Data Implementation : __init__() 1. Data Implementation : Queue -> Python List ���� constructor

Data Implementation : __init__() 1. Data Implementation : Queue -> Python List ���� constructor : __init__() class Queue: """ class Queue() creates empty queue Queue(list) creates queue from list """ def __init__(self, list = None): if list == None: self. items = [] else: self. items = list q = Queue() q 2 = Queue(['A', 'B', 'C']) รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL 01076249 Data Structures & Algorithms : Tree 26

Stack Operation Implementation 1. Data : __init__() : constructor ������� 2. Methods (Operations) :

Stack Operation Implementation 1. Data : __init__() : constructor ������� 2. Methods (Operations) : . 2 enqueue() : ��� rear. 3 dequeue() : ������ front. 4 is. Empty(). 5 is. Full(). 6 size() รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL 01076249 Data Structures & Algorithms : Tree 27

Queue class Queue: """ class Queue() creates empty queue Queue(list) creates queue from list

Queue class Queue: """ class Queue() creates empty queue Queue(list) creates queue from list """ def __init__(self, list = None): if list == None: self. items = [] else: self. items = list def en. Q(self, i): self. items. append(i) def de. Q(self): queue Overflow /Underflow -> upto application return self. items. pop(0) def is. Empty(self): return self. items == [] # return รศ. ดร. บญธร เครอตราช รศ. กฤตวน ศรบรณ KMITL len(self. items) == 0 01076249 Data Structures & Algorithms : Tree 28