Submit Search
Upload
Өгөгдлийн бүтэц 13
•
0 likes
•
479 views
International Ulaanbaatar University
Follow
Өгөгдлийн бүтэц 13
Read less
Read more
Education
Report
Share
Report
Share
1 of 35
Recommended
Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9
International Ulaanbaatar University
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
International Ulaanbaatar University
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
International Ulaanbaatar University
Database 3
Database 3
Usukhuu Galaa
Datastructure algoritm
Datastructure algoritm
Nergui Batjargal
Lesson 7
Lesson 7
Lha Bolorerdene
Лекц №10
Лекц №10
Amarsaikhan Tuvshinbayar
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
International Ulaanbaatar University
Recommended
Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9
International Ulaanbaatar University
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
International Ulaanbaatar University
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
International Ulaanbaatar University
Database 3
Database 3
Usukhuu Galaa
Datastructure algoritm
Datastructure algoritm
Nergui Batjargal
Lesson 7
Lesson 7
Lha Bolorerdene
Лекц №10
Лекц №10
Amarsaikhan Tuvshinbayar
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
International Ulaanbaatar University
Өгөгдлийн бүтэц 2-3
Өгөгдлийн бүтэц 2-3
International Ulaanbaatar University
Dsi lec5
Dsi lec5
ggmo86
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
database 12
database 12
Usukhuu Galaa
U.cs101 алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Badral Khurelbaatar
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
International Ulaanbaatar University
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
International Ulaanbaatar University
Day 1 database
Day 1 database
ETC
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
Muuluu
database 7-8
database 7-8
Usukhuu Galaa
функц шинжлэх график байгуулах
функц шинжлэх график байгуулах
Khishighuu Myanganbuu
Эрэмбэлэлт хайлтын аргууд
Эрэмбэлэлт хайлтын аргууд
Bayalagmaa Davaanyam
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
Khishighuu Myanganbuu
Lecture 5
Lecture 5
Muuluu
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
Бямбаа Авирмэд
U.cs101 алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
Badral Khurelbaatar
Database 6
Database 6
Usukhuu Galaa
логик 2
логик 2
doljoo79
database 10
database 10
Usukhuu Galaa
It101 lect9
It101 lect9
Nergui Batjargal
Dsi lec5,6
Dsi lec5,6
International Ulaanbaatar University
Dsi lec13
Dsi lec13
ggmo86
More Related Content
What's hot
Өгөгдлийн бүтэц 2-3
Өгөгдлийн бүтэц 2-3
International Ulaanbaatar University
Dsi lec5
Dsi lec5
ggmo86
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
database 12
database 12
Usukhuu Galaa
U.cs101 алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Badral Khurelbaatar
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
International Ulaanbaatar University
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
International Ulaanbaatar University
Day 1 database
Day 1 database
ETC
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
Muuluu
database 7-8
database 7-8
Usukhuu Galaa
функц шинжлэх график байгуулах
функц шинжлэх график байгуулах
Khishighuu Myanganbuu
Эрэмбэлэлт хайлтын аргууд
Эрэмбэлэлт хайлтын аргууд
Bayalagmaa Davaanyam
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
Khishighuu Myanganbuu
Lecture 5
Lecture 5
Muuluu
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
Бямбаа Авирмэд
U.cs101 алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
Badral Khurelbaatar
Database 6
Database 6
Usukhuu Galaa
логик 2
логик 2
doljoo79
database 10
database 10
Usukhuu Galaa
It101 lect9
It101 lect9
Nergui Batjargal
What's hot
(20)
Өгөгдлийн бүтэц 2-3
Өгөгдлийн бүтэц 2-3
Dsi lec5
Dsi lec5
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
database 12
database 12
U.cs101 алгоритм программчлал-10
U.cs101 алгоритм программчлал-10
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
Day 1 database
Day 1 database
Өгөгдлийн бүтэц
Өгөгдлийн бүтэц
database 7-8
database 7-8
функц шинжлэх график байгуулах
функц шинжлэх график байгуулах
Эрэмбэлэлт хайлтын аргууд
Эрэмбэлэлт хайлтын аргууд
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
Lecture 5
Lecture 5
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
U.cs101 алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
Database 6
Database 6
логик 2
логик 2
database 10
database 10
It101 lect9
It101 lect9
Similar to Өгөгдлийн бүтэц 13
Dsi lec5,6
Dsi lec5,6
International Ulaanbaatar University
Dsi lec13
Dsi lec13
ggmo86
Dsi lec6,7
Dsi lec6,7
ggmo86
Dsi lec7
Dsi lec7
International Ulaanbaatar University
Dsi lec9-copy
Dsi lec9-copy
ggmo86
Лекц №15
Лекц №15
Amarsaikhan Tuvshinbayar
Dsi lec12
Dsi lec12
ggmo86
Similar to Өгөгдлийн бүтэц 13
(7)
Dsi lec5,6
Dsi lec5,6
Dsi lec13
Dsi lec13
Dsi lec6,7
Dsi lec6,7
Dsi lec7
Dsi lec7
Dsi lec9-copy
Dsi lec9-copy
Лекц №15
Лекц №15
Dsi lec12
Dsi lec12
More from International Ulaanbaatar University
Lec8
Lec8
International Ulaanbaatar University
Lec7
Lec7
International Ulaanbaatar University
Lec5 6
Lec5 6
International Ulaanbaatar University
Lec4
Lec4
International Ulaanbaatar University
Lec3
Lec3
International Ulaanbaatar University
Lec2
Lec2
International Ulaanbaatar University
Lec1
Lec1
International Ulaanbaatar University
Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
International Ulaanbaatar University
ОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
International Ulaanbaatar University
Ood lesson12.1 ---------
Ood lesson12.1 ---------
International Ulaanbaatar University
Ood lesson11 sequence
Ood lesson11 sequence
International Ulaanbaatar University
Ood lesson10 statechart
Ood lesson10 statechart
International Ulaanbaatar University
Ood lesson9 activity
Ood lesson9 activity
International Ulaanbaatar University
Ood lesson7,8 class
Ood lesson7,8 class
International Ulaanbaatar University
Ood lesson6 class
Ood lesson6 class
International Ulaanbaatar University
Ood lesson5
Ood lesson5
International Ulaanbaatar University
Ood lesson4
Ood lesson4
International Ulaanbaatar University
Ood lesson3
Ood lesson3
International Ulaanbaatar University
Ood lesson2
Ood lesson2
International Ulaanbaatar University
Ood lesson1
Ood lesson1
International Ulaanbaatar University
More from International Ulaanbaatar University
(20)
Lec8
Lec8
Lec7
Lec7
Lec5 6
Lec5 6
Lec4
Lec4
Lec3
Lec3
Lec2
Lec2
Lec1
Lec1
Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
ОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
Ood lesson12.1 ---------
Ood lesson12.1 ---------
Ood lesson11 sequence
Ood lesson11 sequence
Ood lesson10 statechart
Ood lesson10 statechart
Ood lesson9 activity
Ood lesson9 activity
Ood lesson7,8 class
Ood lesson7,8 class
Ood lesson6 class
Ood lesson6 class
Ood lesson5
Ood lesson5
Ood lesson4
Ood lesson4
Ood lesson3
Ood lesson3
Ood lesson2
Ood lesson2
Ood lesson1
Ood lesson1
Өгөгдлийн бүтэц 13
1.
LOGO Лекц № 13 Дарааллыг
нэг холбоост жагсаалт ашиглан нэвтрүүлэх
2.
Хичээлийн агуулга
3.
Дарааллыг динамикаар тодорхойлох шаардлага
Дарааллыг массив ашиглан нэвтрүүлэх үед массивын хэмжээгээр дараалалд хадгалагдах элемэнтийн тоо хязгаарлагдаж байсан. Мөн дарааллын дүүрсэн болон хоосон байх төлвийг тодорхойлоход нилээд төвөгтэй байсан.
4.
Дарааллыг динамикаар тодорхойлох шаардлага
Тэгвэл дарааллыг нэвтрүүлэх бас нэг арга нь нэг холбоост жагсаалт ашиглах явдал юм. Дарааллын зарчим ёсоор дарааллын эхлэл, төгсгөлийн хоёр элемэнтээс бусад элемэнтэд хандах шаардлагагүй байдаг. Тиймээс нэг холбоост жагсаалтын эхлэл төгсгөлийн элемэнтийг заах заагчийн тусламжтайгаар дараалалд хийх үйлдлүүдийг гүйцэтгэх боломжтой.
5.
Дарааллыг нэг холбоост жагсаалтаар
илэрхийлэх Дарааллыг нэг холбоост жагсаалтаар илэрхийлж байгаа тул Элемэнт буюу зангилаа нь өгөгдөл ба холбоос гэсэн хоёр хэсгээс тогтоно. Хийгдэх үйлдлүүд нь дараалалд зөвшөөрөгдсөн үйлдлүүд байна. Харин дарааллыг динамикаар тодорхойлж байгаа тул дүүрсэн эсэхийг шалгах үйлдэл тодорхойлохгүй.
6.
Давхар төгсгөлт дараалал /Double
Ended Queue/ Элемэнт нэмэх ба устгах үйлдлийг аль ч төгсгөлд нь гүйцэтгэж болох дарааллыг давхар төгсгөлт дараалал гэнэ. Давхар төгсгөлт дараалал нь нэг талаас эсрэг чиглэлтэй хоёр дарааллын нэгдэл, нөгөө талаас хоёр стекийн нэгдэл юм. Давхар төгсгөлт дарааллыг хоёр холбоост жагсаалт ашиглан нэвтрүүлэх нь зохимжтой.
7.
Давхар төгсгөлт дараалал
Давхар төгсгөлт дарааллын тухайн нэг төгсгөлд орсон элемэнт тэр төгсгөлөөрөө гарвал стекийн зарчмаар, харин нөгөө төгсгөлөөрөө гарвал дарааллын зарчмаар ажиллах болно
8.
Давхар төгсгөлт дараалал
Мөн элемэнт нэмэх үйлдлийг нэг төгсгөлд, элемэнт устгах үйлдлийг хоёр төгсгөлд нь хийх боломжтой давхар төгсгөлт дарааллыг оролт нь хязгаарлагдмал давхар төгсгөлт дараалал гэнэ. Харин элемэнт нэмэх үйлдлийг хоёр төгсгөлд, элемэнт устгах үйлдлийг нэг төгсгөлд нь хийх боломжтой давхар төгсгөлт дарааллыг гаралт нь хязгаарлагдмал давхар төгсгөлт дараалал гэнэ.
9.
Эрэмбэт дараалал /Priority Queue/
Хамгийн өндөр эрэмбэтэй элемэнтийг эхэлж гаргах дарааллыг эрэмбэт дараалал гэнэ. Өөрөөр хэлбэл эрэмбэт дараалал нь дараах үйлдлүүдээр тодорхойлогдоно. Элемэнт оруулах Хамгийн өндөр эрэмбэтэй элемэнтийг гаргах Хэрэв дараалалд ижил эрэмбэтэй элемэнтүүд байвал тэдгээрийн эхэлж орсон нь эхэлж гарах зарчмаар ажиллана
10.
Эрэмбэт дарааллын амьдралын
жишээ:
11.
Эрэмбэт дараалал Эрэмбэт
дараалллыг дараах аргуудаар хэрэгжүүлж болно. 1. Эрэмбэт дарааллын элемэнтүүдийг орсон дарааллаар хадгалан, харин дарааллын хамгийн их буюу өндөр эрэмбэтэй элемэнтийг хайж олон, түүнийг дарааллаас гаргана 2. Дараалалд элемэнт оруулахдаа дарааллын төгсгөлөөс элемэнтүүдийн эрэмбэтэй харьцуулан зохих байрлалд оруулна. Тиймээс дарааллын элемэтүүд нь эрэмбэлэгдсэн байх байх ба хамгийн өндөр эрэмбэтэй элемэнт нь ямагт дарааллын эхэнд байрлах ба элемэнтийг гаргахдаа шууд дарааллын эхнээс гаргана.
12.
Эрэмбэт дараалалын зангилааг илэрхийлэх class
PQNode{ int element; PQNode*link; PQNode(int evalue, QNode*lvalue=NULL) { element=evalue; link=lvalue; } friend class PriorityQueue; };
13.
Эрэмбэт дарааллыг зохион байгуулах
Дараалалд дараах гадаад заагчуудыг тодорхойлж, ашиглах шаардлагатай 1. Эхлэлийн заагч. 2. Төгсгөлийн заагч.
14.
Эрэмбэт дараалалд хийгдэх үйлдлүүд Эрэмбэт
дараалад элемэнт нэмэх– Insert() Эрэмбэт дарааллаас өндөр эрэмбэтэй/хамгийн их/ элемэнтийг олох– Maximum() Эрэмбэт дарааллаас өндөр эрэмбэтэй/хамгийн бага/ элемэнтийг олох– Minimum() Эрэмбэт дарааллаас өндөр эрэмбэтэй элемэнтийг устгах– Delete() Эрэмбэт дарааллаас элемэнт хайх – Search() Эрэмбэт дараалал хоосон эсэхийг шалгах– IsEmpty() Эрэмбэт дарааллын элемэнтүүдийг хэвлэх– SizeOfStack()
15.
Эрэмбэт дарааллыг нэг
холбоост жагсаалт ашиглан зохион байгуулах class PriorityQueue{ PQNode *front; PQNode *rear; public: PriorityQueue(); ~PriorityQueue(); int Maximum(); int Minimum(); void Insert(int); bool Delete(int); void Display(); int Search (int); bool IsEmpty(); };
16.
ЭД-ыг үүсгэх байгуулагч функц PriorityQueue::PriorityQueue() { front=rear=NULL; } Тайлбар: PriorityQueue
PQ; // PQ нэртэй эрэмбэт дараалал үүсгэж байна. front rear
17.
ЭД-ыг санах ойгоос чөлөөлөх
устгагч функц PriorityQueue::~PriorityQueue() { while (front != NULL) { PQNode* curr = front; front = front->link; delete curr; } rear = NULL; }
18.
ЭД-ыг санах ойгоос чөлөөлөх
устгагч функц 100 56 34 currfront rear 456
19.
ЭД-ыг санах ойгоос чөлөөлөх
устгагч функц 56 34 currfront rear 456
20.
ЭД-ыг санах ойгоос чөлөөлөх
устгагч функц currfrontrear 456
21.
ЭД-ыг санах ойгоос чөлөөлөх
устгагч функц curr frontrear
22.
ЭД-д элемэнт нэмэх функц void
PriorityQueue::Insert(int InsertItem) { PQNode*curr=new PQNode(InsertItem,NULL); if(IsEmpty()) front=curr; else rear->link=curr; rear=curr; }
23.
ЭД-д элемэнт нэмэх currfront
rear 100 100 56 34 front rear 456 curr
24.
ЭД-аас өндөр эрэмбэтэй/хамгийн
их/ элемэнтийг олох функц: int PriorityQueue::Maximum(){ int Temp; PQNode*curr=front; Temp=curr->element; while(curr->link!=NULL) { if(curr->element>Temp) Temp=curr->element; curr=curr->link; } if(curr->link==NULL && curr->element>Temp) Temp=curr->element; return Temp; }
25.
ЭД-аас өндөр эрэмбэтэй/хамгийн
их/ элемэнтийг олох функц: 100 56 34 front rear 456 curr Temp 1000
26.
ЭД-аас өндөр эрэмбэтэй/хамгийн
их/ элемэнтийг олох функц: 100 56 34 front rear 456 curr Temp 1000
27.
ЭД-аас өндөр эрэмбэтэй/хамгийн
их/ элемэнтийг олох функц: 100 56 34 front rear 456 curr Temp 10004560
28.
ЭД-аас өндөр эрэмбэтэй/хамгийн
их/ элемэнтийг олох функц: 100 56 34 front rear 456 curr Temp 10004560
29.
ЭД-аас өндөр эрэмбэтэй/хамгийн бага/
элемэнтийг олох функц: int PriorityQueue::Minimum(){ int Temp; PQNode*curr=front; Temp=curr->element; while(curr->link!=NULL){ if(curr->element<Temp) Temp=curr->element; curr=curr->link; } if(curr->link==NULL && curr->element<Temp) Temp=curr->element; return Temp; }
30.
ЭД-аас өндөр эрэмбэтэй/хамгийн бага/
элемэнтийг олох 100 56 34 front rear 456 curr Temp 1000
31.
ЭД-аас өндөр эрэмбэтэй/хамгийн бага/
элемэнтийг олох 100 56 34 front rear 456 curr Temp 1000560
32.
ЭД-аас өндөр эрэмбэтэй/хамгийн бага/
элемэнтийг олох 100 56 34 front rear 456 curr Temp 560
33.
ЭД-аас өндөр эрэмбэтэй/хамгийн бага/
элемэнтийг олох 100 56 34 front rear 456 curr Temp 560340
34.
ЭД-аас элемэнт устгах
функц: bool PriorityQueue::Delete(int DeleteItem){ if(IsEmpty()){ cout<<"Queue is Empty"<<endl; return false; } else{ PQNode* curr = front; PQNode* prevCurr = NULL; while (curr!=NULL && curr->element!= DeleteItem){ prevCurr = curr; curr = curr->link; }
35.
ЭД-аас элемэнт устгах
функц: if (curr == NULL) cout<<"item not found"; if (curr == front) front = curr->link; else prevCurr->link = curr->link; if (curr == rear) rear = prevCurr; delete curr; return true; } }