Yazan : Şadi Evren ŞEKER
Bilgisayar bilimlerinde, çeşitli veri yapılarının (data structures) üzerinde bir bilginin aranması sırasına kullanılan algoritmaların genel ismidir. Örneğin bir dosyada bir kelimenin aranması, bir ağaç yapısında (tree) bir düğümün (node) aranması veya bir dizi (array) üzerinde bir verinin aranması gibi durumlar bu algoritmaların çalışma alanlarına girer.
Yapısal olarak arama algoritmalarını iki grupta toplamak mümkündür.
- Uninformed Search (Bilmeden arama)
- Informed Search (Bilerek arama)
Arama işleminin bilmeyerek yapılması demek, arama algoritmasının, probleme özgü kolaylıkları barındırmaması demektir. Yani her durumda aynı şekilde çalışan algoritmalara uninformed search (bilmeden arama) ismi verilir. Bu aramaların bazıları şunlardır:
-
Listeler (diziler (array)) üzerinde çalışan arama algoritmaları:
-
Şekiller (graflar (Graphs) ) üzerinde çalışan algoritmalar
- Sabit Maliyetli Arama (Uniform Cost Search)
- Floyd Warshall algoritması
- Prim’s Algoritması
- Kruskal Algoritması
- Dijkstra Algoritması
- Bellman Ford Algoritması
- İkili arama ağacı (Binary Search Tree)
- Prüfer dizilimi
- Ağaçlarda Sığ öncelikli arama (breadth first search)
- Şekillerde (Graph) sığ öncelikli arama (Breadth First Search, BFS)
- Derin öncelikli arama (depth first search)
- Derin Limitli Arama (Depth Limited Search) Algoritması
- Yinelemeli Derinleşen Derin Öncelikli Arama Algoritması (Iterative Deepining Depth First Search, IDDFS)
- Patricia Ağaçları
- Trie Ağaçları (metin ağaçları, trie trees)
- B-ağaçları (B-Tree)
-
Metin arama algoritmaları (bir yazı içerisinde belirli bir dizgiyi (string) arayan algoritmalar)
Arama işleminin bilerek yapılması ise, algoritmanın probleme ait bazı özellikleri bünyesinde barındırması ve dolayısıyla arama algoritmasının problem bazlı değişiklik göstermesi demektir. Bu algoritmaların bazıları a aşağıda listelenmiştir:
- Minimax Ağaçları
- Simulated Annealing (Benzetimli Tavlama) algoritması
- Tepe Tırmanma Algoritması (Hill Climbing Algorithm)
- Arı sürüsü arama algoritması (bees search algorithm)
- A* Araması (astar search)
- Geri izleme (backtracking)
- Işın arama (beam search)
1,983 views
