Seçerek Sıralama (Selection Sort) (Algoritma Analizi 3)

Поделиться
HTML-код
  • Опубликовано: 9 ноя 2024

Комментарии • 31

  • @akinalkan5166
    @akinalkan5166 3 года назад +9

    Hocam, 44 yasindayim, bilgisayar ogrenmeye basliyorum. Emeginize saglik, oz, yuksek kaliteli bilgi veriyorsunuz. Big O nosyonunuz log n:) Hem cok tesekkur ediyor, hem de tebrik ediyorum.

  • @Kaan-lv4ef
    @Kaan-lv4ef 6 лет назад +21

    Hocam Allah sizi başımızdan eksik etmesin. [A]min; :)

  • @rojeyyag6273
    @rojeyyag6273 Год назад

    efsane anlatım hocam hayran kaldim helal gercekten muazzsmsiniz

  • @batuhanbulut153
    @batuhanbulut153 6 лет назад +10

    3:00 'da n'inci eleman olmadığı için n-1'e kadar gidiyor demişsiniz sanırım dikkatsizlik oldu orada. Zaten n-1'inci elemanı da dahil etmiyor o for döngüsü. Bunun sebebi de o for döngüsünün kıyaslamadaki elemanlardan birini seçerken; içindeki for döngüsünün, ilk for döngüsünün seçtiği elemanla kıyaslanacak elementi seçmesi. Yani zaten dıştaki for i=n-2 eşitliği için çalıştığında tüm dizi sort olmuş oluyor.
    Bunun haricinde içteki for j=i değil de j=i+1 ile başlamalı diye düşünüyorum. Çünkü j=i olduğu durumda kendi kendisiyle kıyaslama yapıyor sayıyı.
    Bir yanlışım varsa lütfen düzeltin.
    Video için teşekkürler.

    • @bayburtcakr
      @bayburtcakr 2 года назад

      j=i+1 olsa da ayni complexity ile çalışıyor bir şey fark etmiyor.

    • @batuhanbulut153
      @batuhanbulut153 2 года назад +1

      @@bayburtcakr time complexity ifadesi değişmeyecek ama üstteki for 1 milyar kere dönecekse 1 milyar kere anlamı olmayan bir kıyas yapmış olacaksın. Ayrıca kodu okurken anlamsız şey görünce neden böyle yapmış acaba bir nedeni olabilir mi diye düşündürür başka bir geliştiriciyi. Bu sebeple istemeyiz.

    • @bayburtcakr
      @bayburtcakr 2 года назад

      @@batuhanbulut153 burda algoritma öğreniyoruz yazılım mühendisliği yapmıyoruz 😂

  • @ElifArslan-l9g
    @ElifArslan-l9g 3 года назад

    teşekkürler

  • @tacettinarici9928
    @tacettinarici9928 4 года назад

    python kodu -- kac defa yer degistirme islemi yaptigi ve ne kadar zaman gectigini de hesaplayacak sekilde.
    import time
    counter = 0
    start = time.time()
    for j in range(len(a)-1):
    #print('i----',j)
    for i in range(len(a)-1):
    #print('j',i)
    if a[i]>a[i+1]:
    #print('ilk',a[i])
    counter =counter+1
    x = a[i]
    a[i] = a[i+1]
    a[i+1] = x
    #print('son',a[i])
    else:
    pass
    end = time.time()
    print(end-start)

  • @burakhanaksoy
    @burakhanaksoy 3 года назад

    Sut ve visne suyu kaplari ornegi cok hostu hocam

  • @reyou7
    @reyou7 7 лет назад +8

    A[min] biraz komik denk gelmis orda. Hayirlisi ile kodumuz bitti, A[min] :)

  • @hamzakoca8018
    @hamzakoca8018 6 лет назад

    saygılar hocam en kötü durum için önce n tane sonra n-1 , n-2 ... diye geçtiği için n! olmaz mı orayı yanlış mı anladım ben
    teşekkürler.

  • @anlerylmaz8415
    @anlerylmaz8415 5 лет назад

    hocam worst case için tersten sortlanmış hali olur demişsiniz ancak, mantıken bakıldıgında her zaman listedeki o ana kadar sortlamadığı tüm elemanlara bakıp da en kücük elemanı secmesi gerekmiyor mu? Yani 1 en başta da olsa en sonda da olsa, 1 i bulduktan sonra da listeyi tamamen gezip 1 den kücük eleman var mı diye bakması gerekmiyor mu? Tesekkürler

  • @sadkkaplan2295
    @sadkkaplan2295 8 лет назад +1

    Hocam worst-case'de tersten sıralı ise n/2 olmaz mı 1. ile N.'yi yer değiştirdi mi ilk eleman gibi son elemanın da yeri kesinleşiyo

    • @HerGunAynVideo
      @HerGunAynVideo 4 года назад

      ben de bunu yazıcaktım. Galiba worst case tersten sıralı olmuyor o yüzden

  • @sln7736
    @sln7736 5 лет назад

    Bunu linked listte nasıl yaparız

  • @hatay31
    @hatay31 11 месяцев назад

  •  6 лет назад +4

    İkinci for'da j=i yerine j=i+1'den başlasak daha doğru olmaz mı?

    • @foo2hp
      @foo2hp 5 лет назад

      evet olurdu

  • @umidakubanichbekkizi876
    @umidakubanichbekkizi876 8 лет назад +1

    Dizinin icine 1 kez bakildiginda aynı anda hem minimum hemde maximum değerler yazılabilir mi ?

    • @Sadievrenseker_BK
      @Sadievrenseker_BK  8 лет назад +1

      +Umida Kubanichbekkizi Yazılabilir, bunu analiz ettiğimiz bir video da çekmiştik : ruclips.net/video/3bhBo9YCTpo/видео.html
      Başarılar

  • @AliBurakZeytinci
    @AliBurakZeytinci 7 лет назад

    02:56 da i

    • @Sadievrenseker_BK
      @Sadievrenseker_BK  7 лет назад +5

      yer değiştirme (swap) işlemi yapıldığı için. Bakın şöyle düşünün, dizideki en küçük elemanı buluyorsunuz (bu içerideki döngü ve n'e kadar gidiyor, orada sorun yaşamadığınızı düşünüyorum). Sonra bulduğumuz en küçük elemanı sıradaki elemanla değiştiriyoruz. Şimdi n elemanlı bir dizide bu işi yaparsanız, n. elemana bakmanız gerekmez çünkü zaten en büyük olan eleman n. eleman olarak dizide duruyordur.
      Daha basit olarak şöyle anlatayım, 1 elemanlı bir dizide en küçük eleman kendisidir, bu diziye en küçük eleman kaç diye bakmanıza gerek yoktur. n-1 eleman için sıraladıktan sonra son kalan n. elemana bakamanıza gerek yok çünkü zaten orada tek eleman kalmış oluyor.
      Umarım faydası olur.
      Başarılar

    • @AliBurakZeytinci
      @AliBurakZeytinci 7 лет назад

      Bu mantık bubble sort için de geçerli fakat insertion için ise son elemana da bakılması gerektiği için geçerli değil, insertion sortta n olması gerek, bubble ise aynı mantık değil mi?

  • @esma2207
    @esma2207 2 года назад

    best case neden n^2 oldu? anlayan cevaplayabilir mi?

  • @hakan1321
    @hakan1321 8 лет назад

    hocam 1 den n e bakma dediğiniz swaptan mı gelir for da nmı?

  • @erenozkanar1440
    @erenozkanar1440 7 месяцев назад

    ayrık mat

  • @tttuanaaa
    @tttuanaaa 5 лет назад

    Video'da Java versiyonu gösterilen kodun C ile main içinde yazılmış hali aşağıdadır: Sorum şöyle:
    Bu kod ile 5,3,1,4,6,2 dizisini sıralatmaya çalıştığımda çıktısı : 2,1,3,4,5,6 oluyor. Bunun yanında diziyi 6,5,4,3,2,1 olarak ters sıralı yaptığımda çıktısı doğru oluyor : 1,2,3,4,5,6. Bu videodaki kodda hata mı var acaba ?iç döngüyü j=i+1 yapınca da durum değişmiyor.
    int main(void)
    {
    int a[]={5,3,1,4,6,2};
    int i,j,enkucuk,temp;
    int n = sizeof(a)/sizeof(a[0]);
    for(i=0;i

    • @GB-jp9pt
      @GB-jp9pt 2 года назад

      int main() {
      int i, j, temp, size, a[] = {5,3,1,4,6,2};
      size = sizeof(a)/sizeof(a[0]);
      for (i=0; i < size - 1; i++) {
      for (j = i + 1; j < size ; j++) {
      if (a[j]