instagram twitter linkedin github youtube

10.7.15

Arama algoritmaları

Arama algoritmaları, bilgisayar biliminde seçili özelliklere göre istenilen bilgileri bulan algoritmalardır. Listeler, metinler ve şekiller üzerinde çalışırlar
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ı:
Doğrusal Arama (Linear Search)
İkili arama (binary search)
Interpolasyon Araması (Ara değer araması, Interpolation Search)
Ş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)
Horspool Arama Algoritması
Knuth-Morris Prat arama algoritması
Boyer-Moore Arama algoritması
Kaba Kuvvet Metin Arama Algoritması (Brute Force Text Search, Linear Text Search)
DFA Metin Arama Algoritması
Ters Parça Algoritması (Reverse Factor Algorithm)
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)

Türleri

İkili arama algoritması

 

Aranılan diziyi ikiye bölecek şekilde bir eleman seçilir. Sağındaki ve solundakilere bakılır. Algoritmanın çalışması için dizinin sıralı olması koşulu bulunmaktadır. Bu şekilde aranan sayı bulunana kadar işlem yapılır. Algoritmanın çalışması örnek üzerinden şu şekilde açıklanmıştır:
[1,2,4,7,9,11,15]
şeklinde bir dizi verilmiş olduğunda, aradığımız sayının da 4 olduğunu kabul ettiğimiz takdirde, dizinin eleman sayısı 7'dir. Bu durumda ortadaki eleman 4. eleman olarak seçilir ve 7 sayısı ile aranan sayı kontrol edilir. 4<7 olduğu için 4. elemanın solundaki sayılara bakılır:
[1,2,4]
şeklinde elde edilen yeni alt dizinin üzerinde algoritma yeniden çalıştırılır. Dizinin eleman sayısı 3'tür ve ortadaki elemanı 2. eleman olarak seçilir. Eleman değeri 2'dir ve aranan değer 4 ile karşılaştırılır. 4>2 olduğu için 2. elemanın sağ tarafında arama devam eder:
[4]
Tek başına aranan elemanın bulunduğu 4 değeri kaldığından dolayı, bu değer ile aranan değer karşılaştırıldığında aranan değere ulaşılmış olur.

Enine arama (Breadth First Search-BFS)

Bütün çizit aramalarında ve özellikle ağaç aramalarında daha sık kullanılır. Başlangıç düğümüne yakın düğümlerin dolaşarak yoluna devam eder. Bir seviye uzaklaşmadan önce, o seviyeye kadar olan bütün düğümleri dolaşmış olması gerekir. Örneğin; ağaç araması sırasında, her satırda soldan sağa olmak üzere sıra ile bulana kadar arama yapar. Aranan düğüme ulaşmadan önce, aranan düğüm ile başlangıç düğümü arasındaki seviyelerde bulunan bütün düğümleri dolaşmak zorunda olması gibi bir dezavantajı vardır. Bu durum, algoritmanın hedefi bulmasını geciktirir. Resimdeki öncelik A-B-C-D-E-F-G-H-I-İ-J
Öncelik sırası A-B-C-D-E-F-G-H-I-İ-J
Ayrıca ağaç olmayan bir çizitte de kullanılabilir. Örneğin aşağıdaki şekilde 1'den başlanarak dolaşılması halinde, öncelik 1-2-5-3-4-6 olacaktır.
Öncelik sırası 1-2-5-3-4-6

Derin Öncelikli Arama (Depth First Search-DFS)

Ağaç yapılarında kullanılır. Arama işlemine, Yukarıdan aşağıya sol öncelikli olarak arama yapar. Resimdeki aramada öncelik A-B-C-D-E-F-G-H-I-İ-J şeklindedir.
Öncelik sırası A-B-C-D-E-F-G-H-I-İ-J
Enine arama algoritmasında verilen örnek grafın aynısı derin öncelikli olarak aransaydı, muhtemel arama sıralamalarından birisi 1-5-4-6-2-3 olabilirdi
Öncelik sırası 1-5-4-6-2-3
 
 
http://bilgisayarkavramlari.sadievrenseker.com/
https://tr.wikipedia.org/

4.7.15

radix sort algoritması

Bilgisayar bilimlerinde, tamsayı dizilerini artan ya da azalan bir şekilde sıralayabilecek birçok metot vardır. Radix Sort, sayıları basamaklarının üzerinde işlem yaparak sıralayan doğrusal sıralama algoritmalarından biridir. Radix Sort algoritması, 1887 yılında Hollerith’in patentini aldığı “tabulating machine” için kullandığı yönteme dayalıdır. Esasta, 2 tabanına göre yazılmış sayıları sıralayan hızlı bir algoritmadır. Sayma sayıları, adlar ya da tarihler gibi karakter dizilerini göstermek için de kullanılabildiğinden basamağa göre sıralama algoritması yalnızca sayma sayılarını sıralamak için kullanılan bir algoritma değildir. Radix Sort, hane sıralaması veya kök sıralaması isimleri ile de anılmaktadır.
Çoğu bilgisayar veri saklamak için ikilik tabandaki sayıların elektronikteki gösterim biçimlerini kullandığından sayma sayılarının basamaklarını ikilik tabandaki sayılardan oluşan öbekler biçiminde göstermek daha kolaydır. Basamağa göre sıralama algoritması,  en anlamsız basamağa göre sıralama ve en anlamlı basamağa göre sıralama olarak ikiye ayrılır. En anlamsız basamağa göre sıralama algoritması sayıları en anlamsız (en küçük, en sağdaki) basamaktan başlayıp en anlamlı basamağa doğru yürüyerek sıralarken en anlamlı basamağa göre sıralama algortiması bunun tam tersini uygular.
Sıralama algoritmaları tarafından işlenen ve kendi sayı değerlerini gösterebildiği gibi başka tür verilerle de eşleştirilebilen sayma sayılarına çoğu zaman anahtardenir. En anlamsız basamağa göre sıralamada kısa anahtarlar uzunlardan önce gelirken aynı uzunluktaki anahtarlar sözlükteki sıralarına göre sıralanırlar. Bu sıralama biçimi sayma sayılarının kendi değerlerine göre sıralandıklarında oluşan sırayla aynı sırayı oluşturur. Örneğin 1'den 10'a kadar olan sayılar sıralandığında ortaya 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 dizisi çıkacaktır.
En anlamlı basamağa göre sıralama sözcükler ya da aynı uzunluktaki sayılar gibi dizileri sıralamak için uygun olan sözlükteki sıraya göre sıralar. Örneğin; "b, c, d, e, f, g, h, i, j, ba" dizisi sözlük sırasına göre "b, ba, c, d, e, f, g, h, i, j" olarak sıralanacaktır. Eğer sözlük sırası değişken uzunluktaki sayılarda uygulanırsa sayılar değerlerinin gerektirdiği konumlara konulmazlar. Örneğin; 1'den 10'a kadar olan sayılar sıralandığında, algoritma kısa olan sayıların sonuna boş karakter koyarak bütün anahtarları en uzun anahtarla aynı boyuta getireceğinden sonuç 1, 10, 2, 3, 4, 5, 6, 7, 8, 9 olacaktır.
Örnek olarak;  57, 43, 24, 213, 44, 102, 70, 37, 111, 23 sayıları Radix Sort algoritması ile sıralanabilir.
  • İlk geçişte sayılar birler basamağına göre artan yönde sıralanır. Birler hanesinde aynı değeri alan 43, 213, 23 gibi sayılar, başlangıç dizisindeki veriliş sırasıyla yazılırlar.70, 111, 102, 43, 213, 23, 24, 44, 57, 37
  • İkinci geçişte, ilk geçişte elde edilen dizi onlar basamağındaki değerlerine göre sıralanır.102, 111, 213, 23, 24, 37, 43, 44, 57, 70
  • Üçüncü geçişte, ikinci geçişte elde edilen dizi yüzler basamağındaki değerlerine göre sıralanır.23, 24, 37, 43, 44, 57, 70, 102, 111, 213
Görüldüğü gibi, en soldaki basamağa göre geçiş bitince, sayılar sıralanmış olur. Bilgisayar, sayıları bellekte 2 tabanına göre tuttuğu için, Radix Sort algoritması 2 tabanında yazıldığında, 10 tabanından 2 tabanına dönüşüm için zaman harcanmayacağından algoritma daha hızlı çalışır. Yukarıda yapılan sıralama işleminde her aşamada bütün sayı kümesi üzerinden bir kere geçilmesi gerekmektedir. Yani n sayılık bir küme için her aşama n adım gerektirir. Örneğin; 10'luk sayı tabanında her sayıdan birer tane bulunması halinde her hane için 10 ihtimal bulunur. Bu her ihtimalin ayrı bir hafıza bölümünde  tutulması durumunda sıralama işlemi (en büyük hane sayısı) *  n olmaktadır.
Algoritmanın C# Programlama Diliyle Gerçeklenmesi
Aşağıdaki "radixSort" metodu yardımıyla, oluşturulan rastgele sayıların birler basamağından başlanarak basamaklarına ulaşılır ve bu değerler "digits[]" dizisinde tutulur.
public class RadixSort
{
public static int[] radixSort(int[] A, int d)
{
bool Empty = true;
KVEntry[] digits = new KVEntry[A.Length];//array that holds the digits;
int[] SortedArray = new int[A.Length];//Hold the sorted array
for (int i = 0; i < A.Length; i++)
{
digits[i] = new KVEntry();
digits[i].Key = i;
digits[i].Value = (A[i] / d) % 10;
if (A[i] / d != 0)
Empty = false;
}
if (Empty)
return A;
KVEntry[] SortedDigits = CountingSort.countingSort(digits,10);
for (int i = 0; i < SortedArray.Length; i++)
SortedArray[i] = A[SortedDigits[i].Key];
return radixSort(SortedArray, d * 10);
}
}
"countingSort" metodu yardımıyla da, "radixSort" metodu ile birler basamağından başlanarak elde edilen basamaklardaki sayı değerlerine göre  sıralama yapılır.
public class KVEntry
{
public int Key;
public int Value;
}
public class CountingSort
{
public static KVEntry[] countingSort(KVEntry[] A, int k)
{
int[] C = new int[k];
KVEntry[] B = new KVEntry[A.Length];
int i, j;
for (i = 0; i < k; i++)
{
C[i] = 0;
}
for (j = 0; j < A.Length; j++)
{
C[A[j].Value] = C[A[j].Value] + 1;
}
for (i = 1; i < k; i++)
{
C[i] = C[i] + C[i - 1];
}
for (j = A.Length - 1; j >= 0; j--)
{
int value = A[j].Value;
int index = C[value];
C[value]--;
B[index - 1] = new KVEntry();
B[index - 1].Key = j;
B[index - 1].Value = value;
}
return B;
}
}
Program çalıştırıldığında sıralanması istenen rastgele sayı miktarı girilir ve oluşturulan rastgele sayıların sıralanması sırasında geçen süre ekrena yazdırılır.
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "";
int sayı_adeti = Convert.ToInt32(TextBox1.Text);
int[] A = new int[sayı_adeti];
Random rand = new Random();
Stopwatch stopwatch = new Stopwatch();
for (int i = 0; i < sayı_adeti; i++)
{
A[i] = rand.Next(0, 100000);
}
stopwatch.Start();
A = RadixSort.radixSort(A, 1);
stopwatch.Stop();
TimeSpan time = stopwatch.Elapsed;
Response.Write("\nGeçen süre:\t" + time.ToString());
if (sayı_adeti <= 100)
{
for (int i = 0; i < sayı_adeti; i++)
{
Label1.Text += A[i] + "\t";
}
}
}
Program çalıştırıldıktan sonra ekran görüntüsü şekildeki gibi olur.

Verimlilik 

Diğer sıralama algoritmaları ile karşılaştırıldığında radix tür verimlilik konu biraz zor ve yanlış anlaşılmalar oldukça çok tabidir. Radix sort eşit verimli daha az verimli ya da en iyi karşılaştırma tabanlı algoritmalar daha verimli olup olmadığı yapılan varsayımların ayrıntıları bağlıdır. Radix sıralama karmaşıklığı O ( wn ) için n tam sayılardır anahtarları kelime boyutu w . Bazen w (yeterince büyük sıralama daha iyi tabanını yapacak, hangi sabit olarak sunulmuştur n tüm gerçekleştirmek en iyi karşılaştırma tabanlı sıralama algoritmaları, yerine) O ( n log n ) sıralamak için karşılaştırmalar ntuşlarına basın. Ancak, genel olarak w sabit kabul edilemez: hepsi değilse n tuşları farklıdır, o w azından zorundadır log nbir için rasgele erişim makinasında en iyi bir zaman karmaşıklığı veren bellekte saklayabilirsiniz edebilmek için O ( n log n ). Bu (tuşlar daha uzun iseniz ve kötü iyi karşılaştırma tabanlı türlü olarak radix sort en eşit verimli hale getirmek gibi görünüyor günlük n ).
Karşı argüman karşılaştırma tabanlı algoritmalar karşılaştırmalar sayısı değil, gerçek zaman karmaşıklığı ölçülmektedir olduğunu. Bazı varsayımlar altında karşılaştırmalar başkaları altında onlar değil, ortalama sabit zaman olacak. Tuşları böylece yarım durumlarda ilk bit farklılık ve kalan yarısının yarısında ikinci bit farklılık gibi rastgele üretilen anahtarların karşılaştırmalar iki bit ortalama sonuçlanan, ortalama sabit zaman alır karşılaştırılabilir gerekir. Bir sıralama algoritması ilk karşılaştırmalar Sağlama, rasgelelik koşulu yapılmış, ancak sıralama karşılaştırıldığında tuşları ilerledikçe açıkça rastgele seçilmiş artık değil. Örneğin, bir aşağıdan yukarıya birleştirme tür düşünün. İlk geçiş rastgele tuşları çiftleri karşılaştırmak, ancak son pas sıralama sırayla çok yakın olan anahtarları karşılaştırmak olacaktır.
belirleyici bir faktör tuşları nasıl dağıtıldığını olduğunu. radix sort en iyi durumda onlar ardışık bit desenleri olarak kabul edilmesidir. Bu yine de farklı olduğunu varsayarsak, bunlar olabilir gibi tuşları kısa yapacaktır. Bu Radix sıralama yaparÇ ( n log n ) , ancak karşılaştırmalar bu varsayımı altında, sabit bir zaman olmayacak gibi karşılaştırma bazlı türlü verimli olmayacaktır. Yerine anahtarları uzunluğu bit desenleri olduğunu kabul edersek k günlüğü n sabit için k > 1 ve taban-iki logaritma ve onlar tekdüze rasgele olduğunu, daha sonra radix sort hala olacaktır Ç ( n log n ) , ama çok olacak karşılaştırma tabanlı türlü "ekstra" uzunluk karşılaştırmalar ortalama zaman sabiti olduğu sıralanmış sonucu ardışık bile tuşları yeterince farklılık yapar. Tuşları daha uzun ise O (log n ) , ama rastgele, o zaman radix sort aşağı olacaktır. Yanı sıra yapılan ve çoğu doğru karşılaştırma yapmak için dikkatli bir çalışma gerektiren bir çok diğer varsayımlar vardır.

En az önemli basamak radix türlü 

Bir az önemli basamak (LSD) radix sort bir hızlı istikrarlı sıralam algoritması tamsayı temsil sırayla anahtarlarını sıralamak için kullanılabilir. Tuşları olabilir dize verilen 'tabanda' karakter veya sayısal basamak. tuşların işlem başlar en az önemli basamak (yani en sağdaki basamak) ve ilerler en önemli basamağın (yani en soldaki rakam). basamaklı bir tarafından işlendikleri sekans LSD radix tür basamaklı bir yan işleme edildiği dizisinin tersi olan em yüksek  değer basamağı (MSD) radix tür.
Bir LSD radix sort faaliyet O ( nk nerede,) zamanında n anahtarlarının sayısı ve k ortalama anahtar uzunluğudur. Değişken uzunluklu şifreler ifa Bu tür işleme önlemek için, kısa mesafede en uzun birlikte, aynı uzunluğa sahip olan anahtarların her gruplama ve ayrı ayrı her bir uzunluk için anahtarların her biri grup bir LSD radix tür bir performans elde edilebilir Her sıralama geçişte tuşların tüm liste.
Bir radix sıralama algoritması aslında sıralamak için kullanılan delikli kartlar geçişinde çeşitli geçiş içinde. Bir bilgisayar algoritması 1954 yılında radix sıralama için icat edilmiştir Mit tarafından Harold H. Seward . Hız gerektiren birçok büyük uygulamalarda, bilgisayar radix sort (yavaş) karşılaştırma türlü bir gelişmedir.
Karşılastırmalı sıralar daha iyi yapabilirim O daha ( n · log n yürütme zamanı) ama lexicographic birden fazla karmaşık orderings göre sıralamak edememek esneklik sunar; Bununla birlikte, bu özellik birçok pratik uygulamalarda az önem taşımaktadır.

Tanım 

Her anahtar mecazi sağdaki rakam değerine karşılık gelen kovalar bir seviye içine düştü ilkidir. Tuşları kovanın içine düştü gibi her kova tuşları orijinal düzenini korur. Kova ve en sağdaki basamak ile temsil edilebilir değerler arasında bire-bir uygunluk yoktur. Işlemek için daha fazla basamak vardır kadar Sonra, süreç bir sonraki komşu daha önemli basamak ile tekrarlar. Diğer bir deyişle:
  1. En az önemli rakam (ya da bit grup, hem varlık örnekleri alın tabandaki her tuşun).
  2. Grup tuşları o rakam dayanarak, ama başka türlü tuşları orijinal düzeni sağlamak. (Bu tür LSD tabanını bir ne yapar istikrarlı tür .)
  3. Her daha önemli rakam ile gruplama işlemi tekrarlayın.
2. adımda sıralama genellikle kullanılarak yapılır kova sıralama veya sayma tür genellikle rakamlardan sadece az sayıda var çünkü bu durumda verimli.

Bir örnek 

Özgün, sıralanmamış liste:
170, 45, 75, 90, 802, 2, 24, 66
En az önemli basamak (1s yeri) göre sıralama verir:
17 0 , 9 0 , 80 2 , 2 , 2 4 , 4 5 , 7 5 , 6 6
802 çift 170 & 90 ve 45 & 75 için benzer şekilde orijinal listesinde 2 önce meydana, çünkü biz 2 önce 802 tutmak dikkat edin.
Bir sonraki haneli (10s yer) göre sıralama verir:
0 2, 2, 2 4, 4 5, 6 6, 1 7 0, 7 5, 9 0
802 olarak 2 önceki listede 2 önce gelir önce 802 tekrar geliyor dikkat edin.
En önemli haneli (100s yer) göre sıralama verir:
2, 24, 45, 66, 75, 90, 1 70, 8 02
Her madde diğer öğeleri ile karşılaştırıldığında gerek kalmadan onun doğru kovaya yerleştirilebilir çünkü yukarıdaki adımların her veri üzerinde sadece tek bir geçiş gerektirir fark etmek önemlidir.
Bazı radix sort uygulamaları ilk önce o kova içine anahtarları geçmeden önce her kova ait tuş sayısını sayarak kova için yer tahsis eder. Her rakam oluşur sayısı bir depolanır diziye . Farklı bir şekilde bakıldığında şifreler önceki listesini göz önünde bulundurun:
170, 045, 075, 090, 002, 024, 802, 066
İlk sayım geçiş kova boyutlarda bir dizi üreten, her tuşun en önemli basamak başlar:
2 (0 basamak için kova boyutu: 17 0 , 09 0 )
2 (2 basamak için kova boyutu: 00 ile 2 , 80 2 )
1 (4 basamak için kova boyutu: 02 4 )
2 (5 basamak için kova boyutu: 04 5 , 07 5 )
1 (6 basamak için kova boyutu: 06 6 )
Her tuşun sonraki daha önemli rakam üzerinde ikinci bir sayım geçiş kova boyutlarda bir dizi üretecek:
2 (0 basamak için kova boyutu: 0 0 2 8 0 2)
1 (2 basamak için kova boyutu: 0 2 4)
1 (4 basamak için kova boyutu: 0 4 5)
1 (6 basamak için kova boyutu: 0 6 6)
2 (7 basamak için kova boyutu: 1 7 0 0 7 5)
1 (9 basamak için kova boyutu: 0 9 0)
Her tuşun en önemli basamağının üzerine üçüncü ve son sayım geçiş kova boyutlarda bir dizi üretecek:
6. (0 basamak için kova boyutu: 0 02 0 24 0 45 0 66 0 75 0 90)
1 (1 basamak için kova boyutu: 1 70)
1 (8 basamak için kova boyutu: 8 02)
En az bir LSD radix sort uygulanması şimdi her rakam tek sayma geçişte tüm sütunlar için her sütunda oluşur sayısını sayar.  Diğer LSD radix sort uygulamaları alan gerektiğinde dinamik olarak kovalar için yer tahsis eder.

İteratif sürümünü kullanıyorsanız kuyruklar 

LSD radix tür basit versiyonu kullanılarak elde edilebilir sıraları kovalar olarak. Aşağıdaki işlem uzun anahtarın uzunluğuna eşit kez tekrarlanır:
  1. tamsayılar sağdan sola doğru kendi basamak dayalı on ayrı kuyruklar bir diziye kuyruğa edilir.Bilgisayarlar genellikle tamsayılar dahili olarak sabit uzunlukta ikili basamak temsil etmektedir.Burada, biz sabit uzunluklu ondalık basamak ile benzer bir şey yapacak.Yani, bir önceki örnekte numaralarını kullanarak, 1. pass kuyruklar olurdu:
    0: 17 0 , 09 0
    1: yok
    2: 00 2 , 80 2
    3: yok
    4: 02 4
    5: 04 5 , 07 5
    6: 06 6
    7-9: yok
  2. kuyruklar artan sırada, arka tamsayılar bir diziye dequeued edilir.Aynı numaralarını kullanarak, dizi, ilk geçişten sonra bu gibi görünecektir:
    170, 090, 002, 802, 024, 045, 075, 066
  3. İkinci geçmek için:
    Kuyruklar:
    0: 0 0 2 8 0 2
    1: yok
    2: 0 2 4
    3: yok
    4: 0 4 5
    5: yok
    6: 0 6 6
    7: 1 7 0 0 7 5
    8: yok
    9: 0 9 0
    Dizi:
    002, 802, 024, 045, 066, 170, 075, 090
    (sadece 802 ve 170 sıra dışı olan bu noktada unutmayın)
  4. Üçüncü geçmek için:
    Kuyruklar:
    0: 0 02, 0 24, 0 45, 0 66, 0 75, 0 90
    1: 1 70
    2-7: yok
    8: 8 02
    9: yok
    Dizi:
    002, 024, 045, 066, 075, 090, 170, 802 (sıralı)
Bu en verimli radix sıralama algoritması olmayabilir iken, nispeten basit, ve hala oldukça etkilidir. Tüm 100M üzerinde testler veya daha az rastgele 64 bit tamsayı sırasında, qsort algoritması hızlı davranır. C Aşağıdaki kod Cormen ark sağlanan sayım sıralama algoritması dayanmaktadır., [ 3 ] bellek ayırma konusunda bazı iyileştirmeler ile.

En önemli basamak radix türlü 

Bir en önemli basamak (MSD) radix sort anahtarları sıralamak için kullanılabilecek lexicographic sırayla  . Bir az önemli basamak (LSD) radix sıralama aksine, en önemli basamak radix sort mutlaka yinelenen tuşları orjinal düzeni korumak değil . Bir MSD radix sort tuşları işleme başlar en önemli basamak  için, en soldaki rakam en az önemli basamak  , en sağdaki rakam. Bu sekans bunun tam tersidir en az önemli basamak  (LSD) radix türlü. Bir MSD radix sort işleme anahtarının benzersiz bir önek ulaştığı bir anahtarın konumunu yeniden düzenleme durdurur. Bazı MSD Radix türlü hangi tuşların grubuna kovalar bir seviye kullanın ve Diğer MSD Radix sıralar bir formu kovalar, çoklu düzeyde kullanmak tray veya tray bir yol. Bir postacının sıralama / posta sıralama  MSD radix tür bir türüdür.

Özyineleme 

Bir yinelemeli şöyle parsellenmesi MSD radix sort algoritması çalışır:
  1. Her tuşun en önemli basamağını atın.
  2. Biri içine aynı rakam ile elemanları gruplama, bu rakam dayalı öğelerin listesini sıralamak kova .
  3. Yinelemeli sonraki sağ haneye başlayarak, her kova sıralayın.
  4. concatenate  için birlikte kova.

Recursive ileri radix sort örneği

Sıralama listesi:
170, 045, 075, 090, 002, 024, 802, 066
  1. En önemli basamağın (100s yeri) göre sıralama verir:
    Sıfır yüzlerce kepçe: 0 45, 0 75, 0 90, 0 02, 0 24, 0 66
    Bir yüzlerce kepçe: 1 70
    Sekiz yüz kova: 8 02
  2. Bir sonraki haneye (10s yeri) tarafından sıralama sadece sıfır yüzlerce kova bu numaraları (başka kovalar birden fazla öğe içerir) için gerekli olan:
    Sıfır onlarca kepçe: 0 0 2
    Yirmili kova: 0 2 4
    Kırklar kova: 0 4 5
    Sixties kova: 0 6 6
    Seventies kova: 0 7 5
    Nineties kova: 0 9 0
Birden fazla numara ile herhangi bir on kova olarak orada tarafından en az önemli basamak (1s yeri) Sıralama, gerekli değildir. Bu nedenle, şimdi, kova birleştirilmiş sıfır yüzlerce sıralanmış vermek için tek yüz kova ve sekiz yüz kova ile, sırayla katıldı:
002, 024, 045, 066, 075, 090, 170, 802
Bu örnek kullanılan üssü okunabilirlik uğruna on basamak, ama tabii ki ikili basamak veya belki bayt ikili bilgisayar işlemek için daha mantıklı olabilir.

Yerinde MSD radix sort uygulamaları 

0s bin ve 1'ler bin - de ikili quicksort denilen İkili MSD radix sort, iki bidonları içine girdi dizisini bölerek yerinde uygulanabilir.1s bin dizinin sonuna büyüdü oysa 0s bin, dizinin başlangıcından itibaren yetiştirilir. 0s bin sınır ilk dizi öğesinin önüne yerleştirilir. 1s bin sınır son dizi öğesinin sonra yerleştirilir. İlk dizi öğesinin en önemli biti incelenmiştir. Bu bit 1 ise, ilk unsur 1s bin sınırının önündeki elemanın (dizinin son elemanı) ile takas edilir ve 1s bin 1'ler sınır dizi indeksi azaltılmasıyla tek eleman tarafından yetiştirilir. Bu bit 0 ise, ilk öğe geçerli konumda kalır ve 0'lar bin bir eleman tarafından yetiştirilir.incelenen sonraki dizi öğesi 0'lar bin sınırının önünde bir (0'lar kutusu veya 1s bin değil yani ilk eleman) 'dir. 0s bin ve bin 1s birbirlerini ulaşana kadar bu işlem devam eder. 0s bin ve bin 1s sonra yinelemeli her dizi öğesinin sonraki bit dayalı sıralı almaktadır. En anlamlı bit sıralamak için kullanılana kadar Yinelemeli işleme devam eder.  taşınması bit kalan işaretsiz işlenerek, ardından zıt olan en önemli bit tedavi gerektiren tamsayılar imza.
Yerinde MSD ikili sayı tabanı sıralama büyük radix uzatılabilir ve yerinde yeteneği. Muhafaza eden sayım sıralama her bin büyüklüğü ve başlangıç ​​indekslerini tespit etmek için kullanılır. Swapping bin sınırını genişleterek ardından kendi kutusu içine geçerli elemanı, yerleştirmek için kullanılır. Dizi elemanları taranır gibi kutuları üzerinde atlanır ve tüm dizi işlendikten kadar bidonları arasındaki tek unsurlar işlenir ve tüm unsurları kendi kutularına sonuna kadar. bidonları sayısı kullanılan radix aynıdır - 16 Radix 16 bidonları örneğin. Her geçişte başlayarak tek haneli (örneğin, 16-Sayı tabanı olması durumunda her basamak için 4-bit) dayanır en önemli rakam . Tüm rakam sıralamak için kullanılmıştır kadar her bin, daha sonra ardışık bir sonraki basamağı kullanılarak işlenir.

Kararlı MSD radix sort uygulamaları 

MSD Sayı tabanı Sıralama stabil algoritması olarak uygulanan, ancak girdi dizisi ile aynı boyutta olan bir bellek tampon kullanımını gerektirir. Bu ekstra bellek giriş tampon son ve aynı sırayla hedef kutularına dizi öğelerini taşımak için ilk dizi elemanı taranan sağlar. Böylece, eşit elemanlar giriş dizide olan aynı sırayla bellek tampon yerleştirilir. MSD-tabanlı algoritma geri girdi tampon çıktı sonucunu kopyalama yükü önlemek için, özyineleme ilk düzeyde çıkış olarak ekstra bellek tampon kullanır, ancak özyineleme sonraki seviyeye üzerinde giriş ve çıkış swapları. Yerinde MSD Radix sırala yapıldığı gibi bidonları her biri ardışık, işlenir. Son rakamı göre sırala tamamlandıktan sonra, çıktı tamponu orijinal giriş dizisi olup olmadığını görmek için kontrol edilir ve bu değilse, o zaman tek bir kopyası yapılır. Basamaklı boyutuna bölünmesiyle anahtar boyutu bir çift sayı olduğu basamaklı boyutu, seçilirse, son kopyalama önlenir.

Hibrid yaklaşımlar 

Radix sıralama gibi iki geçişli yöntemi çeşit sayım özyineleme her düzeyde ilk geçiş sırasında kullanılan büyük bir sabite sahiptir. Kutuları küçük olsun Dolayısıyla, diğer sıralama algoritmaları gibi, kullanılması gereken sokma tür. Iyi bir uygulama yerleştirme tür küçük diziler, istikrarlı, yerinde hızlı ve önemli ölçüde Radix Sıralama hızlandırabilir.

Uygulama bilgisayar paralel 

Bu özyinelemeli sıralama algoritması için özel bir uygulama olduğunu unutmayın parelel hesaplama kovaları her biri bağımsız olarak sıralanabilir olarak. Bu durumda, her bin bir sonraki işlemciye iletilir. Tek bir işlemci başlangıcı (en önemli basamak) olarak kullanılacaktır. Ikinci veya üçüncü rakam ile, mevcut tüm işlemciler büyük olasılıkla meşgul olacaktır. Her alt bölümü tamamen sıralanır İdeal olarak, daha az ve daha az işlemci kullanılabilir olacaktır. En kötü durumda, tüm tuşları anahtarları sıralamak için paralel işlem kullanılarak herhangi bir avantaj az olacaktır ve sonuç olarak, aynı ya da birbirine hemen hemen aynı olacaktır.
Özyineleme üst düzeyde, paralellik fırsatı olduğunu sayım sıralama algoritmasının kısmı. Sayma parallel_reduce desenine mükellef, son derece paralel ve bellek bant genişliği sınırına ulaşana kadar çoklu çekirdek arasında iyi işi böler.Algoritmanın bu bölümü veri bağımsız paralellik vardır. Daha sonra yineleme seviyeleri, her bin işlenmesi ancak veri bağlıdır. Tüm tuşlar aynı değerde olsaydı Örneğin, o zaman orada o herhangi elemanları ile tek bir kutu olurdu ve hiçbir paralellik kullanılabilir olacaktır. Rastgele girişler için tüm kutuları yakın eşit nüfuslu olacak ve paralellik fırsat büyük miktarda kullanılabilir olacaktır.
Hızlı sıralama algoritmaları kullanılabilir olduğunu unutmayın 

Incremental tray tabanlı radix sort

Bir MSD radix sıralama ile devam etmek için başka bir yolu oluşturmak için daha fazla bellek kullanmak için tray anahtarlarını temsil ve ardından sırayla her tuşa ziyaret tray çapraz. Bir derinlik birinci geçişi başlayarak trayın kök düğüm sırayla her tuşa ziyaret edecek. Bir tray bir derinlik ilk geçişi, ya da başka türlü asitlik ağaç yapısı aracılığıyla bir labirent geçme eşdeğerdir
Bir tray aslında bir temsil kümesi dizeleri veya sayı ve tray yapısını kullanan bir radix sort bir dizi yinelenen öğeleri içermediği için yinelenen tuşları orijinal düzeni mutlaka korunmaz anlamına gelir mutlaka istikrarlı değildir. Ek bilgiler bu bilgilerin kaydını tutmak belirli bir uygulama için önemli ise bir tray tabanlı radix tür nüfus sayımı ya da herhangi bir yinelenen tuşları orijinal düzenini belirtmek için her tuş ile ilişkili gerekecektir. Gol sıralı sırayla yalnızca benzersiz dizeleri bulmak için ise bile tray oluşturma ilerledikçe herhangi bir yinelenen dizeleri atmak istenebilir. Bazı insanlar ilk dizeleri listesini sıralamak ve daha sonra aynı anda sıralamak ve tek geçişte çift dizeleri atmak için bir tray kullanmaktan daha yavaş olabilir yinelenen dizeleri, atmak sıralanmış liste içinde ayrı bir geçiş yapmak.
Tray yapısını koruyarak avantajlarından biri tray belirli bir anahtar, anahtar, uzunluğuna orantılı olan bir süre içinde şifreler grubu üyesi ise, hızlı bir şekilde tespit edilmesini mümkün kılar ki , k (Ç, k olduğu) zaman, bağımsız olarak şifreler toplam sayısı. Bir tray set üyeliği belirleyen aksine, düz bir liste set üyeliği belirlenmesi gerektiren ikili arama , O ( k log (n) ) zaman,doğrusal arama , O ( kn ) zaman; ya da kimin yürütme zamanı bir şekilde diğer bazı yöntem bağımlı toplam sayısına, n , anahtarların en kötüsü durumunda. Bu O (bir düz bir liste set üyeliğini belirlemek için bazen mümkün olabilir k gibi liste, bir de olduğu bilinmektedir olduğu gibi tuşların toplam sayısı, bağımsız bir süre içinde) zaman aritmatik dizisini veya başka hesaplanabilir dizisi .
Tray yapısını koruyarak da mümkün aşamalı dizi içine yeni anahtarlar eklemek veya O (içinde sıralanmış düzeni koruyarak adım adım ise kümesinden anahtarları silmek için yapar k tuşlarının toplam sayısının bağımsız bir süre içinde) zaman.Buna karşılık, diğer radix sıralama algoritmaları gerekir, anahtarları yeni bir anahtar O (gerektiren eklenen veya varolan listeden silinir her zaman en kötü durumda, yeniden sıralama Tüm listeyi kn ) zaman.

Snow White benzetme 

7dwarves.svg
Düğümler koridorları ile bağlantılı oda olsaydı, o zaman burada Snow White yeri her zaman duvara sağ elini tutarak, karanlık olsaydı cüceler tüm ziyaret devam olabileceğini nasıl:
  1. O Bashful bulmak için salon B aşağı hareket eder.
  2. O odanın etrafında onu alır duvarda, onu sağ eli ile ilerliyor ve salon B. yedeklemek devam
  3. O Doc bulmak için salonlar D, O ve C aşağı doğru hareket eder.
  4. Sağ eliyle duvarı takip sürdüren o geri salon C, sonra o Dopey bulur salon P, aşağı yukarı gider.
  5. O geri salonları P, O, D yukarı devam ediyor ve sonra Grumpy bulmak için salon G iner.
  6. O duvarda hala sağ eliyle geri salon G kadar gider ve mutlu bir odaya salon H iner.
  7. O salon H geri hareket eder ve o Sleepy bulduğu yerde, doğru salonları S ve L aşağı döner.
  8. O nihayet Sneezy bulur salon N, aşağı, geri salon L kadar gider.
  9. O başlangıç ​​noktasına geri salonları, N ve S yedekleme seyahatleri ve o yapılır biliyor.
Adımlar bu serisi aracılığıyla Snow White tarafından traya alınan yolu göstermek için hizmet deinliği ilk geçişi isimlerini, Utangaç, Doc, unutkan, Grumpy, Mutlu, Sleepy ve Sneezy yükselen emriyle cüceler ziyaret etmek. Bu tür veri yazdırma ve ardından denir ağaca derinlerine doğru ilerleyerek ilk olarak bir ağacın her düğüm ile ilişkili veriler, bazı işlem gerçekleştirmek için algoritma ön şipariş geçişi bir tür, derinlik ilk geçişi . Ön sipariş geçişi düzeni artan bir tray içeriğini işlemek için kullanılır. Snow White isimleri azalan emriyle cüceler ziyaret etmek isteseydim onu sağ eli ile duvarı takip ederken, sonra o geriye yürüyebiliyordu veya sol eliyle duvarı takip ederken alternatif ileri yürüyün. edilmemiş düğümlere daha fazla iniş mümkün olana kadar ilk bir ağacın derinlerine doğru ilerleyerek ve daha sonra her bir düğüm ile ilişkili veriler üzerinde bazı işlem gerçekleştirmek için algoritma denir post-order geçişi derinliği ilk geçişi bir başka türüdür. Bir post-sırası geçişi azalan bir tray içeriğini işlemek için kullanılır.
kök düğüm arasında traya diyagramı esasen boş bir dize, bir kelime listesinde boş satır sayısı izleyebilmek için yararlı olabilir boş bir dize, temsil eder. Boş dize dairesel ile ilişkili olabilir bağlantılı listede hem başlangıçta boş bir dize işaret ileri ve geri işaretçileri ile başlangıçta tek üyesi olarak boş bir dize ile. Her yeni bir anahtar yerleştirildiğinde, dairesel bağlantılı liste daha sonra genişletilebilir tray . dairesel bağlantılı liste aşağıdaki diyagram olarak kalın, gri, yatay bağlantılı hatlar temsil edilmektedir:
7dwarvesThreaded.svg
Boş bir dize dışında yeni bir anahtar, bir takılıysa yaprak düğümün bir tray , ardından bilgisayar gerçekleştirmek için bir anahtar veya çatallanma orada son önceki düğüme gidebilirsiniz derinliği ilk arama lexicographic bulmak için halef veya dairesel yeni anahtar eklenerek birleştirilmesi amacıyla eklenen anahtar selefi bağlantılı liste . Bir anahtar ya da bir çatallanma, yolda bir çatal vardı son önceki düğüm, bir olan üst düğüm yalnızca benzersiz dize önek tray de yolları olarak temsil edilir Burada gösterilen tray türüne de. Zaten bir hareket sırasında ziyaret olurdu ana düğüm ile ilişkili anahtar varsauzak bir sağ el, ileri hareketli, derinlik ilk geçişi sırasında kök, o hemen bu kadar, derinlik ilk arama sona erer Anahtar takılı anahtar selefi olduğunu. Bashful tray içine sokulur Örneğin, ardından selefi olan ebeveyn düğümü null dize kök düğümübu durumda. Yerleştirilmiş olan kilit üst düğümün en soldaki dalında ise, başka bir deyişle, daha sonra, ana düğümünde yer alan herhangi bir dize takılı olan anahtarın lexicographic öncülü olan anahtarın başka lexicographic öncülüdür takılı olan yeni anahtar takılı olan şube hemen solunda olan ana düğümün şube aşağı var. Huysuz tray sokulan son tuşa olsaydı Örneğin, daha sonra bilgisayar ile selefi, Dopey veya halefi, Mutlu ya bulmaya çalışırken bir seçim, olurdu derinlik öncelikli arama Grumpy ana düğümün başlayarak . Yol uzun olduğu göstermek için hiçbir ek bilgiler sayesinde, bilgisayar uzun bir yol, D hareket olabilir, O, P unutkan Eğer tray sokulan son tuşa vardı derinlik öncelikli arama unutkan ana düğüm olur başlayan sadece seçim olurdu, çünkü yakında, selefi "Doc" bulmak.
Yeni bir anahtar, bir takılıysa iç düğümün , sonra bir derinlik öncelikli arama başlatılabilir iç düğümün lexicographic halef bulmak için. Değişmez dize "DO" Örneğin, bir amaç için, halefi, "DOC" bulmak için D, O, daha sonra bir derinlik öncelikli arama, iç düğümden başlamış olabilir yolun sonuna düğümünde yerleştirildi
Dairesel bağlantılı liste oluşturulması daha fazla bellek gerektirir ama tuşları doğrusal geçişi yoluyla artan veya azalan sırayla ya daha doğrudan ziyaret sağlar bağlantılı listeden ziyade bir derinliği ilk geçişi tüm tray. Bir dairesel bağlantılı tray yapısı bu kavram kavramı benzer dişli ikili ağacın . Bu yapı, bir dairesel dişli tray çağrılır.
Trie002.svg
Bir zaman tray numaralarını sıralamak için kullanılan bir gerçekleştirmek için istekli olmadıkça, sayı gösterimleri hepsi aynı uzunlukta olmalı genişlik-ilk geçişi . Sayı temsilleri aracılığıyla ziyaret edilecektir zaman derinliği ilk geçişi , yukarıdaki şekilde olduğu gibi, sayı temsiller her zaman olacaktır yaprak düğümlerin bir tray . Ne kadar bir tray bu özel örneği kavramı içindeki Not yinelemeli ileri radix sıralama örneğin yerine tray kova kullanımını içerir. Kova ile radix tür gerçekleştirme tray oluşturma ve daha sonra Yaprak olmayan düğümleri atarak gibidir.



2.7.15

Utangaçlık

Hepimiz birşeylerden, bir zaman utanmışızdır. Bu nedenle utangaçlık duygusunu tanırız. Eğer bu duygumuz çok sınırlı sayıda sosyal ortamda yaşanmışsa ve uzun süreli bir problem oluşturmadıysa, ne güzel. Ancak bazı kişiler için başka insanlarla birarada olmak sürekli bir problemdir. Bu kişiler sosyal ortamlarda kendilerinden hiç bir zaman emin olamazlar ve birileriyle beraber olmadan önce, onlarla birlikteyken ve ayrıldıktan sonra, hep doğru dürüst konuşmak ve davranmak konusunda endişe yaşarlar. Bazen de utangaçlık öyle boyutlarda yaşanır ki, kişi kendini tamamen başkalarından izole eder ve kendini yanlızlığa mahkum eder.
Utangaçlık belli durumlarda da yaşanabilir. Örneğin: kişinin yaşadığı yeri değiştirmesi ve bir başka ortama girmesi, yeni bir iş ortamına ya da okul, hatta sınıf ortamına girmesi, çok sevdiği bir yakınını kaybetmesi, bir hastalık ya da fiziğinde değişikliğe yol açan bir rahatsızlık geçirmesi gibi....
Özetle şunu söylemek mümkündür: Utangaçlık, kişinin yaşantısını engelleyecek ve onun yaşam kalitesini düşürecek düzeyde yaşanıyorsa bir problem oluşturur.

Utangaçlığın Nelerle İlişkisi Var?
Sosyal kaygı, utangaçlıkla iç içe yaşanan yoğun ve rahatsız edici bir duygudur. Çevredeki insanların gözünde utanılacak duruma, aptal durumuna düşme, onlar tarafından reddedilme ya da yetersiz görülme korkusudur. Utangaçlık sorunu olan kişi birileriyle birlikteyken bu kaygıyı nasıl gidereceğine değil "ne kadar çok kaygılı" olduğuna konsantre olur, böylelikle kaygısı daha da artar ve bir kısır döngüye girmiş olur. Bakınız aynı zamanda zihninden geçen otomatik düşünceler nelerdir:
-- Kendimi aptal durumuna düşüreceğim.
-- Herkes benim gerçekten salak olduğumu düşünecek.
-- Söyleyecek hiçbirşey bulamayacağım. Donup kalacağım.
-- Eğer ağzımı açarsam sesim bir tuhaf çıkacak.
-- Kalbim fena halde çarpıyor, ya kalp krizi geçirirsem.
-- Delirebilirim.
-- Çok tuhaf görünüyor olmalıyım.
-- Bir kaçabilsem.
-- Herkes beni süzüyor.
-- Ne kadar sıkıcı olduğumu düşünüyorlar.
-- Kendimi kontrol edemeyeceğim.
-- Kızaracağım, titreyeceğim....
Önemli olan bu düşüncelerin gerçekçi algılar üzerine oturtulmamış, tam tersi, mantık dışı bir korkuya temellendirilmiş olmalarıdır. Çünkü herkesin onları seyrettiğine, zayıflıklarını ya da yetersizliklerini yakalamaya çalıştığına inanırlar, ve kaygının kısır döngüsü arttıkça, düşünceler de iyice çarpıtılır.
Sosyal kaygı utangaç olmayan insanlar tarafından da yaşanır. Ancak, bu kişiler kaygılarını farklı bir biçimde yorumladıkları için aynı kısır döngüye girmezler. Utangaçlık sorunu olanlar bu kaygıyı kendi kişiliklerinin bir parçası olarak görürler, diğerleri ise bunu, bulundukları ortam nedeniyle hissettikleri, geçici bir duygu olarak değerlendirirler, ve "aynı ortamda kim olsa aynı duyguyu yaşardı" diye düşünürler.
Bu yorumlama farklılığı utangaç olmayan kişilerin kendine güvenlerinin daha fazla olmasından kaynaklanmaktadır. Bir başka deyişle bu kişiler sosyal ortamdaki başarılarının kendilerinden, başarısızlıklarının ise dış etkenlerden kaynaklandığını düşünürken, utangaç kişiler, tam tersine, sosyal ortamlardaki başarısızlıklarının kendilerinden kaynaklandığını, başarılarının ise ortam sayesinde gerçekleştiğini düşünürler.
Genelde utangaçlık sorunu olan kişilerde sosyal beceri eksikliği bulunmaktadır. Bir başka deyişle ilişkisini başlatma ve sürdürme konusunda gereken bir takım sözelya da sözel olmayan davranış becerilerini öğrenmemişlerdir. Örneğin, bir karşılaşma ya da tanışma anında ne yapacaklarını, bir sohbeti nasıl başlatacaklarını ve sürdüreceklerini ve nasıl vedalaşacaklarını bilmezler. Topluluk içinde uzakta bir yerde dururlar, göz göze bakışmaktan kaçınırlar, eğer onlarla konuşursanız çok alçak sesle konuşurlar, konuşurken çok uzun aralar verirler, bir çok şeye ilgisiz gibi davranırlar, yüzlerindeki ifadede neş'e yoktur. Böylelikle o anda çevrede bulunan kişiler, onların kendileri ile ilgilendiklerini hissedemezler, devamlı çevrenin kendileri hakkında ne düşündüğüne konsantre olduklarını bilemezler, tam tersi utangaçların kendileriyle ilişki kurnak istemediklerini sanırlar.

Utangaçlığın Yol Açtığı Sonuçlar
  1. Yeni arkadaşlıklar kurmada ve yeni insanlarla tanışmada güçlük.
  2. Kendi kabuğuna çekilme ve yalnızlık duyguları.
  3. Başkaları tarafından sönük, sıkıcı, soğuk ve ilgisiz olarak algılanma.
  4. Sosyal ortamlarda kendini tanıtamama ve kendine güvenini kazanamama.
Şimdi tüm yazılanlarda kendinize ilişkin bir ortak yan bulduysanız ve utangaçlık sorunununuz olduğuna karar verdiyseniz, sakın her zaman olduğu gibi kendi kendinizi yenilgiye uğratan düşüncelere kapılıp, kendinizi yine kısır bir döngüye sokmayın! Çünkü bu sorununuzla başetmenin yolları var.

Utangaçlıkla Nasıl Başaçıkabiliriz?
Utangaçlığımızın temelinde yatan mantık dışı inançlarımızı değiştirmek:
Michel ve Girodo (1978) kendi çalışmalarından edindikleri deneyimler sonucu 'utangaçlık' sorunu olan kişilerin mantık dışı dört temel inançları olduğunu bulmuşlar:
  1. Bir sosyal toplantıda uzun süre durup beklerseniz iyi birşey olur.
    Bu inanç sohbet başlatmak korkusu nedeniyle geliştirilir. Oysa ki, iki kişinin tanışması ya da konuşması için en az bir kişinin çaba göstermesi gerekir. Bu neden siz olmayasınız?
  2. Diğer insanlar sosyal etkinliklere davet edildikleri için 'şanslılar'.
    Çok yanlış. Tam tersi, bu bir şans işi değildir. Sosyal olarak aktif olan insanlar, başkaları ile tanışmak ve onlarla zaman geçirmek için çaba gösterirler, kulüplere üye olurlar, başkalarını birşeyler yapmak için davet ederler, sohbetlerde yer alırlar ve çok az şeyi 'şansa' bırakırlar.
  3. Nerede olursam olayım sosyalleşebilme olanağım hep aynı olacaktır.
    Bu, çaba göstermemek için bir başka bahanedir. Oysa, birçok 'sosyal kulüb'ün, insanları bir araya getirmek gibi bir işlevi vardır ve etkinliklerine katıldığınız zaman kendinizi birileriyle birlikte birşeyler yaparken bulursunuz.
  4. Biri bana karşı ilgisiz görünüyorsa, o kesinlikle beni sevmiyordur ve hiçbir zaman sevmeyecektir.
    Bu inanç, boş yere kendinizi insanlardan çekmenize ve yalnızlık hissetmenize yol açar. Biri hemen sizinle ilgilenmedi diye bu sizi sevmiyor anlamına gelmez. Sevgi zaman ister ve gelişen birşeydir.
Şimdi gelin, gerçekçi olan inançlar nelerdir, onlara bakalım ve biraz önce okuduğumuz hiçbir işe yaramayan mantık dışı inançların yerine bunları koymaya çalışalım.
  1. Sosyal ortamlarda aktif olmaya başlayabilirim.
  2. Sosyal ortama girince herkes biraz kaygı yaşar, bu nedenle birşeyleri başlatma ya da yapma riskine girmeden önce tamamen gevşemeyi ya da rahatlamayı bekleyemem.
  3. Olmadığım biri gibi davranmama gerek yok. Bu beni daha da çok kaygılandırıyor.
  4. Başkalarının beni çok sert eleştireceğini düşünüyorum, gerçekte kendime karşı acımasız olan benim.
  5. Kendime, sosyal becerilerimi ve deneyimlerimi geliştirmek için mantıklı amaçlar koyabilirim.
  6. Ayrıca, sosyal becerileri çok gelişmiş kişiler de her zaman, % 100 başarılı değiller. Bu nedenle eğer bir etkileşim istediğim gibi iyi gitmezse çok üzülmemeliyim. 
    Böylelikle güzel bir başlangıç yapmış oldunuz. 
Daha Neler Yapılabilir?
Kendinize Güveninizi Nasıl Artırabilirsiniz?
Kendi zayıf ve güçlü yönlerinizi gösteren bir liste hazırlayın.
Örnek:
Güçlü YönlerimZayıf Yönlerim
iyi bir dinleyiciyimeleştiriyi hiç sevmem
iyi niyetliyimyüzüm asıktır
başkalarını severimsinirliyim
vicdanlıyım
Güçlü yanlarınıza iyice konsantre olun. Örneğin, eğer yukardaki örnekteki gibi iyi bir dinleyici olduğunuzu düşünüyorsanız, bunu diğer insanlara ne kadar sıklıkla gösteriyorsunuz? İnsanlara kendileri hakkında sorular sorup, onları anlatmaya cesaretlendiriyor musunuz ki iyi bir dinleyici olduğunuzu görsünler? Muhtemelen bunu pek yapmıyorsunuz.
Şimdi kendinize güçlü yanlarınızı hatırlatın ve bunları biraz da olsa yaşatmaya çalışın. Biri ile bir sohbet başlatın. Bu denemeyi yaparken dikkatinizi karşıdaki kişinin sizi sevip sevmediğine dair ipuçları toplamaya değil, sohbetin içeriğine ve söylenenlere verin. Unutmayın, kendinize ait istediğiniz kadar bilgi verip, istemediğiniz yerde konuşmanızın içeriğini değiştirebilirsiniz. Birileriyle konuşurken onların kontrolü altında değilsiniz, sohbetler karşılıklı gelişir.
Bu tür birkaç deneme daha yapabilirseniz, bazı şeyleri keşfedeceksiniz:
-- Hayret, ben de bazı zamanlar insanların söylediklerini sıkıcı bulabiliyorum.
-- Konuştuğum herkesi sevmek zorunda değilmişim.
-- Beni seven insanların yanında sevmeyenlerin de olması doğal.
-- İnsanlarla konuşmayı sürdürdükçe, onları daha iyi tanıyorum.
-- Arkadaşlık bir günde, anında oluşmuyormuş, zamanla gelişiyormuş.
-- Arkadaşlığın gelişmesinde benim adımlarımın da katkısı çok büyük.
Sözel ya da Sözel Olmayan Sosyal Becerileri Nasıl Öğrenebilir ya da Geliştirebilirsiniz?
Bir yabancı dili öğrenmek, bir araba kullanmayı ya da kayak yapmayı öğrenmek nasıl zaman alıyorsa, sosyal becerileri öğrenmemiz ve onların kendi davranış örüntümüze yerleşmesi de zaman ister. Unutmayın, sosyal beceriler doğuştan gelme değildir, sonradan öğrenilir. Yeni beceriler öğrenirken aklınızda tutmanız gereken iki önemli ilke: bol bol pratik yapmanın bu becerilerin kazanılmasını hızlandıracağı ve en kolay durumlarla başlayıp yavaş yavaş zorlara doğru gidilmesi gerektiğidir. Öyleyse çok kısa bir sohbet ile başlayabilirsiniz. Sohbetin üç temel aşaması vardır: Konuşmayı başlatmak, sürdürmek ve bitirmek.
Konuşmayı Başlatmak :
Utangaçlık sorunu olan kişi için ilk kelimeleri söylemek oldukça zordur. Çoğu zaman, "Kafamda ne söyleyeceğimi evirip çeviriyorum, boğazım kuruyor, ağzımdan tek bir sözcük bile çıkmıyor" dedikleri olur. Oysa, zihninizde hiçbir şey planlamanıza gerek yok, konuşmayı başlatmak bazen bir "merhaba" demek kadar basittir. Sohbeti başlatmanın ve sürdürmenin en iyi yolu soru sormaktır. Mümkün olduğu kadar açık uçlu sorular sorun: "İyi misiniz?" yerine "Nasılsınız?" diye sorun.
Unutmayın gelecek ilk yanıta geribildirim vermek önemlidir. Bu nedenle 'dinleme becerilerini' kullanmak, konuşmanın ilerleyen aşamalarında olduğu gibi ilk aşamasında da çok önemlidir. Karşınızdaki kişi sorduğunuz soruyu yanıtlarken, onun gözlerinin içine bakın, ilgiyle kafanızı sallayın, söz edilen hoş şeylere gülümseyin. Bunlar sizin o kişiye önem verdiğinizi gösteren geribildirimlerdir.
Konuşmayı Sürdürmek:
Konuşmayı sürdürebilmenin en temel ilkesi, karşınızdaki kişi konuşmasını bitirince ne söyleyeceğinize konsantre olmak değil, onun ne söylediğine konsantre olmaktır. Böylelikle, karşıdaki kişiye ait bilgiyi alıp, bir sonraki sorunuzu onun üzerine kurabilirsiniz. Örneğin: "İyiyim, derslerle uğraşıyorum" gibi bir yanıt gelirse "sorma aynı durum bende de var, sen ne sıklıkta çalışıyorsun?" gibi bir soru sorabilirsiniz. Böylelikle, kendisi ile ortak bir konuyu paylaştığınızı da belirtmiş olursunuz.
Dikkat etmeniz gereken noktalar şunlardır: Konuşma sırasında aniden konu değiştirmeyin; sorulan sorulara 'evet' ya da 'hayır' diye yanıt vermeyin, sohbet aniden bitebilir. Eğer 'evet' ya da 'hayır' dediyseniz, yanısıra, konuşmayı sürdürmek için bir soru sorun. Örneğin: Size "Yurtta mı kalıyorsun?", diye sorulduysa, ve yanıtınız "evet" ise "Evet. Sen nerede kalıyorsun?" diye konuşmayı sürdürün.
Evyah Tıkandım!..
Bazen sohbet bir yerde tıkanır ve sessizlik olur. Utangaç kişinin en dayanamadığı durum, birinin ya da birilerinin karşısında iken yaşanan sessizliklerdir. Hemen "Ben ümitsiz bir vakayım"; "Çok aptal ve sıkıcı olduğumu" düşünecekler diye otomatik düşünceler üretmeye başlayabilir. Umutsuzluğa kapılmayın! Konuşmalar arasındaki sessizlikler, hele kişiler birbirlerini iyi tanımıyorsa çok doğaldır. Yine de bu sessizliği bozmanın çeşitli yolları vardır. Bu sırada dikkatinizi çevrede olup bitenlere verebilir ve gördüklerinize ilişkin yorumlar yapabilir, karşıdaki kişinin fikirlerini sorabilirsiniz? Eğer hâlâ söyleyecek bir şey yoksa, neden konuşmayı bitirmiyorsunuz?
Konuşmayı Bitirmek :
Yukarıda belirtildiği gibi sessizlikler ya da konuşmanın tıkandığı noktalar, sohbeti bitirmek için kullanılabilir. Ayrıca siz kendiniz de kısa bir sohbet yapmayı planlıyorsanız belki bir duraksama sırasında hoş sözcüklerle veda edebilirsiniz, örneğin: "Seninle konuştuğuma çok memnun oldum"; "şimdilik hoşçakal, tekrar görüşelim"; "Kendine iyi bak, görüşmek üzere" diyerek ve gülümsemenizi yüzünüzden eksik etmeden ayrılabilirsiniz.
Sosyal becerilerinizi geliştirmeye çalışırken sözel olmayan davranışlarınızın, insanlarla etkileşiminizde ne kadar önemli bir yeri olduğunu unutmayın. Size bir kaç örnek verebiliriz :
-- İnsanların gözlerine bakarsanız onlarla bir bağlantı kurmuş olursunuz ve karşıdakine onunla ilgilendiğinizi hissettirirsiniz.
-- Sohbet sırasında karşıdaki kişinin gözüne bakmak, söylediklerinizde gerçekten ciddi olduğunuz izlenimini yaratır.
-- İnsanlara gülümsemek onları görmekten, birlikte olmaktan zevk aldığınızı ve onlara karşı sıcak duygular taşıdığınızı gösterir.
-- Yüzünüzdeki ifade sohbet sırasında yaşadığınız ve karşıdaki kişiye ilişkin duygularınızı açıkça ortaya koyabilir.
-- Kafanızı yukarı kaldırırsanız insanlar yüzünüzü daha rahat görür. Elinizi koyacak bir yer bulursanız daha rahat olduğunuz izlenimini verirsiniz.
Hepinize hoş birliktelikler dileriz.
Eunsen, K & Henderson, M. Coping with Shyness & Loneliness (Utangaçlık ve Yalnızlıkla Başaçıkma) 1987, W & R Chambers Ltd. Edinburg kitabından yararlanılarak ve 'Bilişsel Psikoloji'nin temel ilkeleri çerçevesinde Uzm. Psk. Neslihan Rugancı tarafından hazırlanmıştır.

1.7.15

MİT'e Yeni Bina! Pentagon Örnek Model Olacak

MİT, şehir içinde kalan ve artık küçük gelen binasını Etimesgut'a taşıma karar aldı. 600 bin metrekarelik yeni yerleşkenin içinde VIP havalimanı da olacak.

MİT
Hakan Fidan'ın müsteşarlığa getirilmesinin ardından ölçek büyüten Milli İstihbarat Teşkilatı, şimdi de yeni yerleşke için düğmeye bastı. Ankara şehir merkezindeki Yenimahalle'de faaliyet gösteren MİT için bina darlığı yüzünden yer arayışına girilmişti.
Bu çerçevede Etimesgut'taki Zırhlı Birlikler'in Ankara Polatlı ve Eskişehir Sivrihisar'a taşınması sonrasında boşalacak arazi gündeme geldi. Arazinin MİT'e devri kararlaştırıldı.
Askerin taşınması sonrasında Ankara'da boşalacak arazi MİT'e tahsis edilecek. Araziye istihbarat binalarının yanı sıra lojmanlar da inşa edilecek.
2017'DE BİTECEK
Etimesgut'a bağlı Alsancak, İstasyon, Erler ve Bağlıca mahalleleri arasında kalan arazi için yol ve zemin düzeltme inşaatlarının başladığı belirtiliyor. MİT'in Yenimahalle'deki kampüs alanını terk ederek, 2017 yılında Etimesgut'taki bölgeye yerleşmesi planlanıyor.
PENTAGON ÖRNEK OLACAK
MİT kampüsünün inşaatını Cumhurbaşkanlığı Sarayı'nı da yapan Rönesans İnşaat'ın yapacağı ileri sürülüyor. MİT yerleşkesi için ABD Savunma Bakanlığı Pentagon'un model alınacağı ileri sürülüyor. İç içe geçen beş tane beşgenden oluşan bina, 600 bin m2 toplam saha ve 340.000 m2 kullanım alanıyla dünyanın en büyük resmi daire binalarından biri.
ASKERİ HAVAALANI VİP'E DÖNÜŞECEK
Öte yandan Etimesgut'ta bulunan askeri havaalanının da Cumhurbaşkanı, Başbakan ve Türkiye'ye gelen konukların kullanımı için VIP haline getirilmesi planlanıyor. Söz konusu havaalanının da tamamlanması sonrasında MİT'in de bu alanı kullanması öngörülüyor. 

Cinler

Cinleri insanlara resmen üstün gösteren insanı aşağılayan bir kurgudur. Bir bölgede ezan okunuyorsa, Kur'an okunuyorsa, namaz kılınıp dua ediliyorsa cinlerin o bölgede tesiri söz konusu bile olamaz zira bireysel tesir olabilir ama bu toplu bir tesir asla olamaz. Cinler insanları bu denli etkisi altında bırakamaz ve bir bölgeyi ele geçiremez. Onların buna gücü yetmez ve onların böyle bir şeye girişmesi katiyen yasaktır...

Buna benzer olay Hz Süleyman zamanında evet olmuştu. Cinler insanlara savaş açmıştı ve Hz Süleyman'ın emrindeki bölgelerdeki insanlara cinnet geçirtiyorlardı.

Bu olayı öğrenen Hz Süleyman tüm cinleri Allah'ın emri ile esir etti kendine bağladı. O olaydan sonra Hz Süleyman tüm cinleri emrine almıştı ve çalıştırmıştı. Ve yine o olaydan sonra cinler ile insanların arasına kesin bir duvar çekildi yani anlaşma yapıldı.

O günden sonra bu tür vakalar olmamıştır lakin insanların sapkınlığa düşüp cinlerin esiri olmaları başka. Son Peygamber Hz Muhammed SAV peygamber olmadan önce insanlar cinlerin büyük ve çok güçlü olduğuna kendilerini kaptırmış ve onlardan yardım bekler hale düşmüştü. Yani cinler ile iletişime geçen halk başka halklar üzerinde tesir edebilir hale gelmişti.

Peygamberimiz Peygamber olduktan sonra da cinnet geçiren insanlar vardı bu nedenle ve onları manen tedavi ediyordu ama artık anlaşma gereği topluca bir savaşa, insanları topluca cinnet geçirtmek yerine bireysel zarar veriyorlardı tabiki büyü yoluyla veya insanların hatası dolayısıyla...

Sözün özü şudur ki kıbledere olayı sanıldığı gibi bu denli abartılı değildir. Film sektörünü herkes az çok bilir. Dikkat çekmesi açısından olay gereğinden fazla korkutucu ve abartılı olması gerek zira sıradan olduğu zaman halkın dikkatini asla çekmez bu olay... Bu anlamda bu tür haberlere özellikle filme seneryo olmuş olaylara ve konulara itibar etmeyiniz...

İnsan şerefli ve üstün yaratılmış varlıktır... Biz bu değerimizi daima bilelim ve asla unutmayalım...

-----------------------------------------


Cinler, bir çok korkunç şekle bürünebilir, insanlara duyduğu kin ve nefret nedeniyle veya başka bir kişinin yönlendirilmesi ya da bizlerin onlara bilmeden zarar vermesi nedeniyle musallat olabilir. Pozitif bilim hala metafizik öğelerine yaklaşımı negatif olsa da kabul edilmesi gerekirki "cin musallatı" gerçektir.

Psikolojik vakalarda çoğu açıklanamayan vakaların temelinde cin musallatı olduğu bir geçektir. Birçok örneği yabancı ülkede görüldü ve hatta bir çok filme konu oldu. Ama halk arasında korkulara gerilime neden olmasın diye bu konunun üstü kapatıldı ve yalanlandı.

Cinler insanlardan önce yaşamış dünyayı şekillendirmekle görevlendirilen varlıklardı. Lakin zayıf iradeleri nedeniyle kendi aralarında düşmanlık beslemişler çok kan dökmüşlerdir. Allah cinleri ateşin dumansız kısmından yaratmıştır lakin ateşten yaratılmış olması illaki bu varlıkların ateşe benzer olması manasına gelmez zira ilk insan da topraktan yaratılmış toprağa ruh üflenmiş ve toprağa iskelet sistemi deri, et ve şu anki insani vasıflar eklenmiştir.

Cinler de yaratılışlarından her şekle girebilir, birden çok parçaya bölündüğü halde tek parçaymış gibi aşayabilir, maddenin en küçük birimine dahi dönüşebilir. Cinler bu nedenle bizler gibi maddesel değildirler onlar kendilerine verilen özellikler nedeniyle maddeye hükmedip insanın beynine hükmedebilir, içine girip rahatsız edebilir kanında dahi dolaşarak istediği vesveseyi insana aşılayabilir.

Cinler, fiziksel olarak çok güçlü varlıklardır. Tabiki her cin için bu geçerli değildir. Kendi aralarında sınıfları vardır. En zalimi ve en güçlü cin grubu İfrit cinlerdir. Bu cinler insana karşı en kinci cinlerdir. Fiziksel güçleri ise iki elinde dünyayı taşıyacak kadar güçlüdür. Hızları ise yıldırım gibidir. Saniyeler içinde birden çok bölgede bulunabilir. Lakin iradesi ve hafızası çok zayıftır. Bir insana musallat olduğunda eğer insanın iradesi güçlü ise etki etmeden korkup gidecektir lakin insanın iradesini kırmak için onu korku ile kendine bağlamak ve tamamen elde etmek için hiç görülmemiş çirkinlikte insana görünebilir rüyalarına hükmedip kabuslar gösterebilir aklını başından almak için her yolu deneyebilir.

Bu ifrit grubunu her insan kullanamaz. Çünkü kullanan kişiyi bile etkiler. Kullanan kişi ya çok güçlü olmalı ya da şeytana tamamen ruhunu satan tamamen şeytancıl bir insan olmalıdır. Ancak böyle bir kişi cinler ile irtibata geçip başka insanlara ifriti yönlendirebilir.

Ve sanıldığı gibi 3 ihlas 1 Fatiha ile gidecek bir cin grubuda değildir. Çünkü nasıl her insanın taşıyacağı yük farklı ise cinler içinde de bu surelere dayanaklılığı yüksek olanlar ifritlerdir ki normal bir insanın göndereceği bir cin değildir.

Bir kez musallat olduğu zaman bir ömür çeken bile vardır. Ve her insan böyle bir cini kovmak dahi istemez çünkü kovan insan ve ailesine de musallatı çeker. Böylesi bir cini yakmak demek bir ömür boyu bu cinin akrabaları ile uğraşmayı göze almak demektir. Bu anlatılanlar belki gözle görülür dünyada saçma olsada mana aleminde metafizik alemde bir çok çatışmalar savaşlar vardır. İyi zaatlardan bir çoğu ömürleri boyunca kötü cinler ile uğraşmıştır. Hz Ali dahi cinle kılıç kılıca dövüşmüş tam onu öldürecekken Peygamberimiz mani gelmiştir.

Böyle bir çok olay vardır. Bunlar efsane değildir. Cinler Kur'an da geçen bir çok hadiste bahsedilen gerçek içe içe yaşadığımız varlıklardır. İnsanların çoğalmaları sonucunda onların yaşam alanlarını ihlal ettiğimiz için bir çok cin vakası ne yazıkki görülmektedir. Çünkü bizler onları rahatsız ettiğimiz sürece onlara meşrutiyet hakkı doğuyor ve onlar da bize zarar veriyor. Yoksa onlara kati suretle insanlara zarar vermek haram kılınmıştır. Eğer buna rağmen bir cin kendi isteğiyle bir insana zarar veriyor ve bu durumdan bir cin padişahı haberdar olursa kati suretle o zarar veren cin öldürülür.

Zaten genelde zarar veren bir cini, eğer ki cini çıkaran kişi çok alimse padişah cin ile irtibat kurarak zarar veren cini kendilerinin öldürmesi beklenir ve padişah cinin fermanıyla gelen cinler zarar veren cini insandan alır götürür ve hiç bir şere bulaşmadan bu işten kurtulunur. Lakin bu her zaman böyle olmaz çünkü cinin bağlı olduğu kabile de çok önemli. Eğerki inançsız ise asla bunu kabul etmemekle birlikte daha çok azap vermesi için emir bile verebilir. Böylesi durumda tek çıkar yol cinin kendi isteği ile hastadan çıkmasını zorla işkence yaparak kabul ettirmek eğer kabul etmiyorsa tehdite başvurmak yine kabul etmiyorsa en son çare onu güçlü tesirli dualarla yakmak.

Cinler ile insanlar iç içe olduğu sürece böylesi vakalar ve çoğu kişiye göre hikayeler efsaneler asla bitmeyecektir. Çünkü çoğu insan kabul etmese de biz onlar ile iç içe yaşıyoruz. Ve onlar Kur'an ayetlerinde sabittirler. Ve çoğu psikolojik hastalığında sebebi budur. Bunu pozitif bilimciler kabul etmese de gerçeğin önüne kimse geçemez.