fbpx

Программ хангамжийн инженерчлэл нь юуны түрүүнд асуудлыг ойлгож, шийдэл гаргах чадвартай байх явдал юм. Алгоритм сурах нь тийм ч чухал биш, учир нь та тэдгээрийг хийж буй зүйлдээ яг таг хэрэгжүүлэх хэрэгтэй болно. Танд асуудалд хэрхэн хандахыг зааж өгдөг учраас чухал юм. Хөгжүүлэгчдийн сурахад үнэ цэнтэй 10 алгоритмын жагсаалтыг танилцуулж байна.

1. Sorting Algorithms:
QuickSort: Хувааж, ялах стратеги дээр суурилсан үр дүнтэй эрэмбэлэх алгоритм.  Элементүүдийн массивыг цаашид хуваах боломжгүй болтол дахин дахин хуваана. Үүнийг мөн “partition exchange sort” гэж нэрлэдэг. Элементүүдийг хуваахад гол элементийг (пивот) ашигладаг. Нэг зүүн хуваалт нь гол элементээс бага бүх элементүүдийг, баруун хэсэг нь гол элементээс их байгаа бүх элементүүдийг агуулна.
MergeSort: Хувааж, байлдан дагуулах өөр нэг үр дүнтэй эрэмбэлэх алгоритм. Зөвхөн нэг элемент үлдэх хүртэл элементүүдийг хоёр дэд массив (n/2) болгон дахин дахин хуваана. Нэгтгэх эрэмбэ нь туслах массивыг эрэмбэлэхийн тулд нэмэлт санах ойг ашигладаг.

2. Хайлтын алгоритмууд /Searching Algorithms/:

– Хоёртын хайлт /Binary Search/: Эрэмбэлэгдсэн жагсаалтаас элемент олох үр дүнтэй алгоритм. Хоёртын хайлт нь хайлтын интервалыг хоёр дахин хуваах замаар эрэмбэлэгдсэн массивт хэрэглэгддэг хайлтын алгоритм. Хоёртын хайлтын санаа нь массивыг эрэмбэлсэн мэдээллийг ашиглах ба цаг хугацааны нарийн төвөгтэй байдлыг O(log N) болгон багасгах юм.

3. График алгоритмууд /Graph Algorithms/:

Дейкстрагийн алгоритм /Dijkstra’s Algorithm/: Жинлэсэн график дахь зангилааны хоорондох хамгийн богино замыг олно.

Гүн-анхны хайлт /Depth-First Search/ (DFS) ба өргөн-анхны хайлт /Breadth-First Search/ (BFS): Графикаар дамжин өнгөрөх алгоритмууд. 

4. Динамик програмчлалын алгоритмууд /Dynamic Programming Algorithms/:

Динамик програмчлалыг ашигласан Фибоначчийн дараалал /Fibonacci Sequence using Dynamic Programming/: Оновчтой дэд бүтэц болон давхардсан дэд асуудлын тухай ойлголтыг харуулсан.

5. Модны алгоритмууд /Tree Algorithms/:

Хоёртын хайлтын мод /Binary Search Tree/(BST): Зангилаа бүр хамгийн ихдээ хоёр хүүхэд зангилаатай хоёртын модны өгөгдлийн бүтэц.

Модны шилжилт /Tree Traversal/ (Inorder, Preorder, Postorder)/: Модны бүх зангилаанд зочлох арга техник.

 

6. Geedy Algorithms:

– Kruskal’s Algorithm: Холбогдсон, чиглүүлээгүй графикаас хамгийн бага хүрээтэй модыг олно.

Prim’s Algorithm: Хамгийн бага хүрээтэй модыг олох өөр нэг алгоритм.

Leave a Reply