1. Trang chủ
  2. » Giáo án - Bài giảng

Cấu trúc dữ liệu và giải thuật

96 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cấu trúc dữ liệu và giải thuật
Trường học Trường Đại học Công nghệ TP.HCM
Chuyên ngành Cấu trúc dữ liệu và giải thuật
Thể loại Tài liệu học tập
Thành phố TP.HCM
Định dạng
Số trang 96
Dung lượng 2,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

vào cây BST.. Xóa nút lá trên cây BST.. Xóa nút có hai cây con trên cây BST... Interchange Sort, Selection Sort, Insertion Sort, Shell Sort, Quick Sort, Merge Sort, Radix Sort... Các tha

Trang 1

C

Biên

www.hutech.edu.vn

Trang 2

tailieuhoctap@hutech.edu.vn

Trang 3

I

V

BÀI 1: 1

1.1VAITR C AC TRÚCD L TRONG NTINH C 1

1.2CÁCTIÊU GIÁ TRÚC 2

1.3 HOÁ 3

1.4 3

1.5 CÓ TRÚC 4

1.6 PH CT PC AGI ITHU T 6

6

1.6.2 Cách 7

TÓM 8

CÂU ÔN 9

BÀI 2: T M KI M 10

2.1GI ITHI UV B ITO NT MKI M 10

2.2T MKI MTUY NT NH 11

2.3TÌM PHÂN 12

TÓM 14

CÂU ÔN 14

BÀI 3: S P X P 15

3.1GI ITHI UV B ITO NS PX P 15

15

15

3.2CÁC 16

16

18

19

Insertion Sort 21

22

3.2.6 Quick Sort 24

Merge Sort 26

27

TÓM 30

CÂU ÔN 30

BÀI 4: DANH SÁCH 31

4.1KH INI M 31

Trang 4

4.2C UTR CDANHS CH 31

4.3 PH PC I TDANHS CH 34

4.4HI NTH CDANHS CHK 35

4.4.1 .35

4.4.2 Các t c v 36

4.5HI NTH CDANHS CHLIÊNK T 40

4.5.1 .40

40

4.5.3 .41

4.6C CLO IDANHS CHLIÊNK TKH C 45

45

45

TÓM 46

CÂU ÔN 46

C STACK 48

5.1 STACK 48

48

5.1 49

49

5.2 STACK 50

50

51

5.3M TS B ITO N NGD NGSTACK 52

TÓM 53

CÂU ÔN 53

BÀI 6: C 54

6.1 QUEUE 54

6.2 QUEUE 56

6.2.1 Dùng .56

58

6.3H NG IC TIÊN 58

TÓM 59

CÂU ÔN 59

C CÂY - 60

7.1 TRÚCCÂY QUÁT 60

7.2CÂY PHÂN 61

7.3MÔ CÂY PHÂN 63

7.3.1 .63

63

7.3.3 Ba p .65

7.4 CÂY PHÂN QUÁT 66

Trang 5

7.4.1 66

7.4.2 67

TÓM 71

CÂU ÔN 71

- BST 72

8.1 72

8.2CÀI CÂY PHÂNTÌM 73

TÓMT T 77

CÂU ÔN 77

- AVL 78

9.1 CÂY PHÂNTÌM CÂN 78

9.2CÁCTÁC XOAY 79

80

81

9.3THÊM NÚTVÀOCÂYAVL 82

9.4CÀI CÂYAVL 84

84

85

TÓM 87

CÂU ÔN 87

TÀI THAM 88

Trang 6

Hình 3.1 27

34

35

Hình 4.3 Thêm n t 18 v o v tr 3 trong danh s ch 37

Hình 4.4 X a n t 15 v tr 2 trong danh s ch 38

Hình 4.5 Danh s ch liên k 40

Hình 4.6 Danh s ch liên k t v ng 45

Hình 4.7 M t n t c a danh s ch liên k t k p 45

Hình 4.8 45

Hình 5.1: Stack v thao t c push, pop trên n 48

54

sert và remove trên Queue 55

Hình 6.3 C t Queue b ng danh s ch liên k t 58

Hình 7.1 60

Hình 7.2 62

Hình 7.3 62

Hình 7.4 63

Hình 7.5 66

Hình 8.1 72

Hình 8.2 vào cây BST 74

Hình 8.3 Xóa nút lá trên cây BST 75

Hình 8.4 75

Hình 8.5 Xóa nút có hai cây con trên cây BST 75

Hình 9.1 79

Hình 9.2 80

Hình 9.3 80

Hình 9.4 81

Hình 9.5 81

Hình 9.6 83

Hình 9.7 83

Hình 9.8 Xoay kép 84

Trang 7

Bài 1

Bài 2 Bài này

Bài 4 DANH SÁCH

tack

Trang 9

h c ph c bài toán th c t c n chú tr ng hai v :

- T ch c bi u di ng th c t : Các thành ph n d li u th c t ng,

ng ch ng nh ng quan h hình tin h c c a bài toán, c n ph i t ch c xây d ng các c u trúc thích h p nh t sao cho v a có th ph n ánh chính xác các d li u th c t này, v a có th d dàng

x lý Công vi c g i là xây d ng c u trúc d li u cho bài toán

- Xây d ng các thao tác x lý d li u: T nh ng yêu c u x lý th c t , c n tìm ra

các gi i thu nh trình t các thao tác máy tính ph i thi hành

cho ra k t qu mong mu c xây d ng gi i thu t cho bài toán.

Trang 10

Tuy nhiên, khi gi i quy t m ng có khuynh

ng ch chú tr n vi c xây d ng gi i thu m quan tr ng c a vi c

t ch c d li u trong bài toán Gi i thu t ph n ánh các phép x ng x

lý c a gi i thu t l i là d li u, chính d li u ch ng các thông tin c n thi th c

lo i d li u nào và khi ch n l a c u trúc d li n ph i hi u rõ nh ng thao tác

li u có m i quan h ch t ch v c th hi n qua công th c:

C u trúc d li u + Gi i thu

V i m t c u trúc d li n, s có nh ng gi i thu ng, phù h p Khi

ng ép, thi u t nhiên trên m t c u trúc không phù h a, m t c u trúc d

li u t t s giúp gi i thu t x lý t phát huy tác d ng t ng

Trang 11

1.3

data (operation

Trang 12

float 4 byte 3.4E-38

3.4E38

Các giá 3.4E-

Trang 15

a ba

i b

i b

a i

2

) 1 (

n in

a i

2

) 1 ( 2

2

1

2

n n

i

n

) 1 2 )(

1 (1

in

) 1 ( 2

2 1

i

n

i

Trang 18

SV, h a ch kh a t m ki m l h tên K t qu tr v l : thông tin

Trang 19

int Search(int a[], int n, int key)

Trang 20

2.3

[left, , rightmid=(left+right)/2

Trang 21

int BinarySearch(int a[], int n, int key){

int left = 0, right = n-1, mid;

while (left <= right){

Trang 25

cho :

Trang 26

Swap(A[j], A[j-1]); A[j] và A[j-1]

}

void Swap(int &x, int &y){

Trang 27

void InchangeSort(int A[],int n){

for(int i=0; i<n-1; i++)

Trang 29

Danh sách sau khi chèn

Trang 30

Insertion Sort:

void InsertionSort(int A[], int n){

for(int i=1; i < n; i++){

h n), chia dãy thành h dãy

Dãy con 1: A[0], A[0+h], A[0+2h]

Dãy con 2: A[1], A[1+h], A[1+2h]

Dãy con 3: A[2], A[2+h], A[2+2h]

Dãy con h: A[h], A[2h], A[3h]

Trang 31

void ShellSort(int a[], int n, int h[], int k){

int step, i, pos, x, len;

for(step = 0; step < k; step++) {

Trang 33

}

Trang 34

void mergesort(int A[], int n){

int i,j,k,low1, up1, low2, up2,size;

Trang 37

void RadixSort(long a[], int n){

int i, j, d, digit, num;

Trang 38

Interchange Sort, Selection Sort, Insertion Sort, Shell Sort, Quick Sort, Merge Sort, Radix Sort

Trang 40

0=<pos<=num 1

Trang 42

t:

Trang 43

Hình 4.2

So s nh hai ki u c t:

i

insert, remove

Trang 45

if(pos <0 || pos> ListSize(plist))

Trang 49

typedef Node* NODEPTR;

4.5.3

(minh h a v i info c a n t ki u int) Init, IsEmpty, InsertFirst, InsertAfter,

DeleteFirst, DeleteAfter, DeleteAll, ShowList, Search, Sort

Trang 50

p->next=tam;

}

- T c v DeleteFirst: x a n u c a danh s ch liên k t

void DeleteFirst(NODEPTR &pHead){

Trang 54

C t theo ki u k ti p -> hi n th c danh s ch k (d ng m ng m t chi u

C t theo ki u liên k t -> hi n th c danh s ch liên k

D ng m r ng c a danh s ch liên k ch liên k t v ng, danh s ch liên k t k p, danh s ch liên k t v ng k p

Trang 55

d Tìm sinh viên có tên là X

Câu 4: Vi nh hi n th c danh s ch liên k

Câu 6:

cùng Các thao tác trên danh sách:

Init, IsEmpty, CreateNode, InsertFrist, InsertLast, InsertPrev, InsertNext, InsertPos, DeleteFirst, DeleteLast, DeleteNext, DeletePrev, DeletePos, ShowList, ShowInvert, Search, Sort ClearList

Trang 56

v o sau ra c - LIFO (Last In First Out)

Hai thao tác chính trên Stack:

Trang 59

typedef Node* NODEPTR;

typedef NODEPTR STACk;

void Push(STACK &s, DataType x){

NODEPTR p = new Node;

p->info = x;

p->next = s;

s = p;

}

Trang 63

- insert thêm nút

- remove

hình a) insert (q,A)

Trang 66

sau Hàng priority queue)

-

-

Trang 67

isEmpty, Insert, Remove

Trang 68

Hình 7.1

(root) là nút không có nút cha,

Trang 69

Trang 72

- CreateNode

- InsertLeft

nút p nút x

Trang 74

struct nodetype *left;

struct nodetype *right;

}Node;

Trang 75

typedef Node *NODEPTR;

Trang 77

printf("\n Nut da co con ben phai");

Trang 78

printf("\n Nut khong co con ben phai");

Trang 84

int Remove(NODEPTR &proot, int x) {

Trang 89

printf("\n Khong the xoay trai vi cay rong");

Trang 91

ya

bf(ya)=1, nút lá thêm vào cây là nút sau bên trái ya

Trang 92

int bf; //balance factor

struct nodetype *left, *right;

};

typedef struct nodetype *NODEPTR;

Trang 93

9.4.2

void Insert(NODEPTR *pavltree, int x)

{

//fp la nut cha cua p, q la con cua p

//ya la nut truoc gan nhat co the mat can bang, fya la cha cua ya

//s la nut con cua ya theo huong mat can bang

//imbal=1: lech trai; =-1 lech phai

Trang 96

1

2

TPHCM

3 Lê Minh Hoàng (1999 - 2002)

4 Richard Neapolitan and Kumarss (2004) Foundations of Algorithms Using C++ Pseudocode Jones and Bartlett Publishers

6

Ngày đăng: 28/07/2023, 17:57

HÌNH ẢNH LIÊN QUAN

Hình 4.3. Thêm n t 18 v o v  tr  3 trong danh s ch - Cấu trúc dữ liệu và giải thuật
Hình 4.3. Thêm n t 18 v o v tr 3 trong danh s ch (Trang 45)
Hình 4.4. X a n t 15   v  tr  2 trong danh s ch - Cấu trúc dữ liệu và giải thuật
Hình 4.4. X a n t 15 v tr 2 trong danh s ch (Trang 46)
Hình 4.7. M t n t c a danh s ch liên k t k p. - Cấu trúc dữ liệu và giải thuật
Hình 4.7. M t n t c a danh s ch liên k t k p (Trang 53)
Hình 5.1: Stack v  thao t c push, pop trên - Cấu trúc dữ liệu và giải thuật
Hình 5.1 Stack v thao t c push, pop trên (Trang 56)
Hình a)  insert (q,A) - Cấu trúc dữ liệu và giải thuật
Hình a insert (q,A) (Trang 63)
Hình 6.3. C t Queue b ng danh s ch liên k t - Cấu trúc dữ liệu và giải thuật
Hình 6.3. C t Queue b ng danh s ch liên k t (Trang 66)
Hình 8.5. Xóa nút có hai cây con trên cây BST. - Cấu trúc dữ liệu và giải thuật
Hình 8.5. Xóa nút có hai cây con trên cây BST (Trang 83)
Hình 8.3. Xóa nút lá trên cây BST. - Cấu trúc dữ liệu và giải thuật
Hình 8.3. Xóa nút lá trên cây BST (Trang 83)
Hình 9.2.   là r - Cấu trúc dữ liệu và giải thuật
Hình 9.2. là r (Trang 88)
Hình 9.7.  quanh ya. - Cấu trúc dữ liệu và giải thuật
Hình 9.7. quanh ya (Trang 91)
Hình 9.8. Xoay kép. - Cấu trúc dữ liệu và giải thuật
Hình 9.8. Xoay kép (Trang 92)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm