Kayıt Ol

Gönderilerinizi yayınlamak, insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne kaydolun.

Hesabın var mı? Giriş Yap
  • Google ile devam et
  • Linkedin ile devam et
  • GitHub ile devam et
ya da

Hesabın var mı? Şimdi Giriş Yap

Giriş Yap

Gönderilerinizi paylaşmak ve insanların sorularını yanıtlamak ve diğer insanlarla bağlantı kurmak için Yazılım Köyü'ne giriş yapın.

Buradan kaydolun
  • Google ile devam et
  • Linkedin ile devam et
  • GitHub ile devam et
ya da

Parolamı unuttum?

Hesabınız yok mu? Buradan kaydolun

Parolamı unuttum

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Hesabın var mı? Şimdi Giriş Yap
Giriş YapKayıt Ol

Yazılım Köyü

Yazılım Köyü Logo Yazılım Köyü Logo

Yazılım Köyü Navigation

  • Anasayfa
  • Hakkımızda
  • Etkinlikler & Eğitimler
    • Ücretsiz Eğitimler
    • Ücretli Eğitimler
  • İş İlanları
  • Ekibimiz
  • Partnerler
  • Sponsorlar
  • İletişim
Ara
Paylaşım Yap

Mobile menu

Close
Paylaşım Yap
  • Anasayfa
  • Etkinlikler & Eğitimler
  • Partnerler
  • Sponsorlar
  • Ekibimiz
  • Gruplar
  • Grup Ekle
  • Kategoriler
  • Tüm Paylaşımlar
    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
  • Oylamalar
  • Etiketler
  • Rozetler
  • Tüm Kullanıcılar
  • Destek
  • İletişim
Anasayfa/ Paylaşımlar/Q 46188
Sonraki
Cemaltuysuz
Cemaltuysuz

Cemaltuysuz

  • Mobile Developer
  • 17 Paylaşımlar
  • 2 Yorumlar
  • 0 En İyi Yanıtlar
  • 314 Puan
Profili gör
CemaltuysuzKöyün Muhtarı
Tarih: Eylül 29, 20212021-09-29T12:18:43+03:00 2021-09-29T12:18:43+03:00Kategori: Eğitim

Sıralama Algoritmaları – Bubble Sort

Sıralama Algoritmaları – Bubble Sort

Herkese merhaba, bu yazımda sizlere sıralama algoritmaları arasında yer alan Bubble Sort algoritmasından bahsedeceğim. Bubble sort karşılaştırma temelli basit bir sıralama algoritmasıdır. Sıralanmamış bir veri dizisine sahip olduğumuzu düşünelim. İlk elemanından başlayarak sürekli olarak bir sonraki elemana geçiyor ve her seferinde bir sağdaki eleman ile karşılaştırma yapıyoruz. Eğer sağdaki elemanımız soldakinden küçük  ise elemanlar arasında swap işlemi gerçekleştiriyoruz. Bu işlemi sürekli tekrar ediyor ve en sonunda dizimizi sıralamış oluyoruz.

Bu algoritma da sürekli büyük olan sayı ile küçük olan sayı arasında swap işlemi gerçekleştiğinden ötürü ve algoritmanın yapısı sayesinde büyük olan elemanı hep en sağa doğru iteliyoruz. Sayı dizimizi sıralamak için gerçekleştireceğimiz ilk taramada o an dizide bulunan en büyük eleman dizinin en sonuna geliyor olacak. Bir sonraki taramada sıralanmamışların en büyük elemanı dizinin en sondan bir önceki kısımda yer alacak. Tabii ki böyle yazarak ilerlediğimiz zaman bazen kafada bir şeyler oluşmayabiliyor yada yarım kalıyor. Bunun için bir örnek gerçekleştirelim. Bir adet sayı dizimiz olsun.

[1,14,3,22,7,15]

Bu sayı dizimizi Bubble sort algoritması ile sıralayacağız. İlk tarama işlemini adım adım anlatırken sonraki tarama adımlarını hızlıca geçeceğim. Dizinin en büyük elamanının karşılaştırma  adımlarını gerçekleştirirken değişen konumuna ve gerçekleştirdikten sonraki konumuna dikkat edelim.

1.Karşılaştırma

Birinci elemanımız 1 ve ikinci elemanımız 14 arasında karşılaştırma işlemi yapıyoruz. 1 sayısı 14 sayısından küçük olduğunu fark ediyor ve devam ediyoruz.

2.Karşılaştırma

İkinci elemanımız ile aynı şekilde üçüncü elemanımız 3 arasında karşılaştırma yapıyoruz ve 14 sayısı 3 sayısından büyük olduğundan swap işlemi gerçekleştiriyoruz.

[1,3,14,22,7,15]

(Swap sonrası)

3.Karşılaştırma

Üçüncü (14) elemanımız  ve dördüncü (22) elamanlarımız arasında swap işlemi gerçekleşmeyecek.

4.Karşılaştırma

Dördüncü elamanımız 22 ile beşinci elamanımız 7 arasında bir swap işlemi gerçekleştiriyoruz.

[1,3,14,7,22,15]

(Swap sonrası)

5.Karşılaştırma

Beşinci elamanımız 22 ile altıncı elamanımız 15 arasında bir swap işlemi gerçekleştiriyoruz.

[1,3,14,7,15,22]

(Swap sonrası)

 

Evet şu anda ilk tarama işlemimizi gerçekleştirdik. Dizimizin en büyük elamanını en sağa atmış olduk.

2.Tarama

[1,3,7,14,15,22]

(2. Tarama Sonrası)

İkinci tarama işleminde gerekli tüm karşılaştırmaları baştan başlayarak gerçekleştirdik. Sadece üçüncü (14) ve dördüncü (7) elamanlar arasında bir karşılaştırma yapıldı. Böylece dizimiz sıralanmış oldu.

Notlar

Yaptığım bazı araştırmalarda Bubble Sort ile n sayıdaki bir dizi için her taramada dizinin tüm elamanlarında karşılaştırmalar yapıldığını fark ettim. Buna karşılık diğer araştırmalarımda ise Her yapılan taramada dizinin sıralanmamış en buyuk elamanının dizinin sağ tarafında kendi yerine yerleştirileceğinden ötürü sıralanmış elemanlar ile tekrardan karşılaştırma yapılmasının gereksiz olduğu yönünde bilgiler edindim.

Bubble sort algoritmasının basit bir yapıda olduğunu gözlemlemişsinizdir. Lakin bu algoritma yapısı gereği büyük boyutlu dizilerde yavaş çalışır.

Okuduğunuz için teşekkür ederim, bir sonraki yazıda görüşmek üzere. Kendinize iyi bakın 🙂

Örnek Java Kodu için tıklayınız.

 

 

 

algoritmasıralama
  • 0 0 Yanıt
  • 65 Görüntüleme
  • 13 Beğeni
Yorum Yap
Paylaş
  • Facebook

    Benzer Paylaşımlar

    • Yazılımcıların bilmesi gereken 3 algoritma
    • Sıralama Algoritmaları – Hızlı Sıralama (Quick Sort)
    • Sıralama Algoritmaları - Seçmeli Sıralama (Selection Sort)

    Cevap eklemek için giriş yapmalısınız.

    • Google ile devam et
    • Linkedin ile devam et
    • GitHub ile devam et
    ya da

    Parolamı unuttum?

    Hesaba mı ihtiyacınız var? Buradan kaydolun

    Sidebar

    Sosyal Medya

    Trend Etiketler

    algoritma android bootcamp c++ eğitim gittigidiyor insider java javascript kodlama kriptoloji python sql veri vue fundemental eğitimi wordpress yazılım Ücretsiz eğitim Ücretsiz Eğitimler İş İlanı şifreleme

    Sponsorlar

    Benzer Paylaşımlar

    • Emirhan KABAKCI

      Erasmus’ta Çalışmak, Dijital Göçebelik, İş Bulmak, Pasif Gelir, Komunite ve ...

      • 0 yanıt
    • Yazılım Köyü

      Yazılım Köyü’nde, Zemin İstanbul İş Birliği ile Python BootCamp!!

      • 9 yanıt
    • Sait ORHAN

      SAP BASIS Eğitimi

      • 0 yanıt

    Başvuru Yap

    Paylaşım yap
    • Popüler
    • Yanıtlar
    • Etiketler
    • Buse TURAN

      FULL STACK SUPERMAN / SUPERWOMAN OLMAK İÇİN YAPMANIZ GEREKEN ÜCRETSİZ ...

    • Selin Dayıoğlu

      4 Ücretsiz Sertifika Sitesi

    • ibrahim Demirli

      Angular 12 ile gelen önemli yenilikler

    • Sait ORHAN

      Stajyerlerimi Nasıl Eğitiyorum?

    • Buse TURAN

      BİR SONRAKİ PROJENİZ İÇİN 12 EĞLENCELİ API

    • Buse TURAN

      Her Geliştiricinin Favorilerine Eklemesi Gereken 12 Ücretsiz Tasarım Kaynağı

    • Yazılım Köyü

      React BootCamp: Arçelik'in Dijital Dönüşümünde React Zamanı!

    • Buse TURAN

      C++ ÖĞRENENLER İÇİN EN İYİ 8 WEB SİTESİ

    • Edanur Öztürk

      Geleceğe Giriş-Doğuş Teknoloji

    • Buse Öztan

      HTML-CSS gibi kodlamalarda kullandığınız en favori editörünüz hangisi?

    • Yunus Emre YAZICI
      Yunus Emre YAZICI Yanıtlandı katılım linki ne zaman paylaşılacak?   TRANSLATE with x English… Mayıs 17, 2022 at 1:29 pm
    • GULCAN COSKUN
      GULCAN COSKUN Yanıtlandı Teknik test, mail ile bildirildi. Mayıs 13, 2022 at 12:10 pm
    • Ruhi Karagül
      Ruhi Karagül Yanıtlandı teknik destek ne zaman oldu hocam şaka mı bu Mayıs 12, 2022 at 2:39 pm
    #abap#sap #aspnetcore #dependencyinjection #aop #autofac #işarayışı #destek #javascript #angular12 #software #education #oyun #yazılım .net .net core 3des 100 daily ui free abap acid adesense adobe adviceslip aes ai airbnb akademi algoritma amazon android android-libraries android-smart-tv android achitecture andromo anijs animate.css anime.js animista ansible ant design api api gateway apple appsetting appsettings apps geyser app yet appy pie arduino argondesignsystem artifical intelligence artificial intelligence asimetrik şifreleme asp:net atom awesome screenshot & screen recorder aylıkgelir backgroundjob bakış açısı başarı bilgisayar bilişim birey blockchain blogger blueprint blush bootcamp borunv brave browser budibase business analytics büyük veri c# altın kurlarını gösterme c# json İle veri Çekme c++ calculated columns cdn chakra ui class cobalt 2 codepen challenges coderbyte codewell coding ninjans colorpick eyedropper component convertio cookie coursera'dan veri bilimine giriş kursu css cssbattle css peeper cte cursor dapper data datamining data science with r by pluralsight db shading deeplearning delivery hero deney derin Öğrenme derin Öğrenme ve makine Öğrenimi des destek mühendisi developer değerlendirme değişim dijital göçebelik dijital ihracat dikey büyüme dikkat edilecekler dil eğitimi discord django dns docker double dracula official dyno bot döviz çevirici e-ticaret e-ticaret mağazası edabit edit editör educative elektrik elektronik empati engineer eninovatif50şirket entity framework core 5 environment variables erasmus etkinlik exception eğitim facebook face recognition fastai firebase firefox teması flask float flutter flutterdeveloper fonksiyon fonts ninja framework free freecodecamp freeillustrations freelance front-end frontend frontend mentor fullstack fuul stack react game game developer gary hamel gateway geeksforgeeks geliştirici geliştirme gerçek zamanlı sohbet uygulaması getir geçikme girişim girişimcilik git github gitlab gittigidiyor gittigidiyor teknoloji akademisi go golang goodbarber google gsap gzip hackerearth hackerrank hamburgers hangfire harvard data science course hash hava durumu raporu uygulaması hayat hobi home office hover.css html html5-semantic html mail gönderme http http bağlantısı kurma http durum kodları httpie http mesajları http yöntemleri hulu humaaans icongenarator icons 8 ieee spectrum ikaros partners image downloader inovasyon insider insomnia internet invision app ios ira design it iş iş analitiği işbulma iş fırsatı iş imkanı işimkanı işletme java javascript javascript30 jetpack js jservice js kütüphanleri kariyer fırsatı kategori yönetimi keras kestrel kevin murray kitaplık kişisel gelişim kişisel portfolyo kod kodlama komunite kotlin kriptoloji kute.js kültür kütüphane laravel laserwave latency leanback learn learncpp library liderlik lightbootstrapdashboard lime linkedin localstorage maaş machine learning machine learning a-z: hands-on python and r --- in data science magic effects mail send makine Öğrenimi makine Öğrenimi nasıl Çalışır? makine Öğrenimi nedir? makine Öğreniminin kullanımları makine Öğrenmesi makineöğrenimi manta manypixels mark text marvelcomicsapi maslow material ui merge sort microsoft microsoft sql server eğitimi cv İnceleme sonuçları mikro orm mikroservis mikroservisler mikroservis mimarisi mikroservis yönetimi mng kargo mo.js modelleme mongodb montaj motion ui mvc müzik oynatıcısı n11 nasaapi net5 netflix new features night owl nintendo nlp no-code nocode node.js node.js indir node.js kurulumu node.js nedir nodejs nodejs javascript frontend noktalı sayı not notusreact nrkdrk nuxtjs nvidia oci oh my zsh olacaklar ve öğrenilecekler one dark pro online eğitim siteleri outrun paaatterns pagedlist palenight pandas par-tİme parçalama pasif gelir paypal pgpool php phpmyadmin phpstorm phyton platformlar arası uygulama playstation podman popmotion posgresql parçalama postgresql postgresql cte posthog prerender prisma problem tanımı programlama programming proje pycharm python python ile veri bilimi pytorch querying razer rdp react react datepicker reactjslanding react native react navigation typescript reactopen reactreduction react select reactstrap recommender systems renova requests responsive rest api rosetta stone rsa s3 salesforce sap scikit-learn scrapy screencat scrollreveal js search ui sentry seo sertifika serversiderender shades of purple shap shardsdashboardlites simetrik şifreleme simterik şifreleme single page application slack smooth ui snyk software software engineer sohbet geçmişi solid solid prensipleri sortable- hoc sorting spa spacex spagetti kod spotifyapi sql sqlite sqlserver sql server ssr staj staj iş arayışı stajyer startup stevejobs storybook stratejik yatırım struct sublime text supabase svg export swagger sınıflar ve yapılar arasındaki farklar sıralama sıralama algoritma sıralama algoritmaları t-sql tasarım tdd tech tech-academy teknoloji temiz kod tensorflow the future of management three.js toptalent topwebsites tpt tph treehouse trendyol tsql typescript udacity'den veri bilimine giriş ui ui space undraw uniqid uplabs user secrets uuid ux uygulama uzaktan velocity.js vercel veri veri analizi veri bilimcisi olmak İster misiniz? veri bilimi az: gerçek hayat veri bilimi alıştırmaları dahil veri bilimi sertifikasyon eğitimi --- r programlama veri bilimi ve makine Öğrenimi için python eğitim kampı veri tabanı veritabanı video vierbinding visual studio code vivus.js vizyon vmd vs code vue vue fundemental vue fundemental eğitimi vue router web webdev webinar web tarayıcı web tasarım whatsapp whirl winter is coming wordpress wrapkitreactliteuikit xai yabancı dil yapay genel zeka yapay zeka yapay zekanın tanımı yapay zekanın tarihi ve dönüm noktası yatırım yazılım yazılımcı yazılım ekibi yazılım fikri yazılım geliştirici yemeksepeti yenimezun yeni özellikler youtube youtube-dl yönetim yük testi zuckerberg Çalışma ortamı Çerezler Özellikler ÖĞrencİ Ücretsiz Ücretsiz eğitim Ücretsiz Eğitimler çalışma çekiliş ölçeklendirme önyüz tasarımı özgeçmiş İkaros&partners İletişim İş İlanı Şirket şifreleme şifre sıfırlama

    Popüler Kullanıcılar

    Yazılım Köyü

    Yazılım Köyü

    • 62 Paylaşımlar
    • 4k Puan
    İşinin Ehli
    Buse TURAN

    Buse TURAN

    • 34 Paylaşımlar
    • 2k Puan
    İşinin Ehli
    Serkan Koç

    Serkan Koç

    • 6 Paylaşımlar
    • 1k Puan
    İşinin Ehli
    Mustafa(Hüseyin) Sungur

    Mustafa(Hüseyin) Sungur

    • 42 Paylaşımlar
    • 1k Puan
    İşinin Ehli
    Sait ORHAN

    Sait ORHAN

    • 14 Paylaşımlar
    • 1k Puan
    İşinin Ehli

    Explore

    • Anasayfa
    • Etkinlikler & Eğitimler
    • Partnerler
    • Sponsorlar
    • Ekibimiz
    • Gruplar
    • Grup Ekle
    • Kategoriler
    • Tüm Paylaşımlar
      • Güncel Paylaşımlar
      • Trend Paylaşımlar
      • En Çok Tıklanan Paylaşımlar
    • Oylamalar
    • Etiketler
    • Rozetler
    • Tüm Kullanıcılar
    • Destek
    • İletişim

    Footer

    Yazılım Köyü; Türkiye’nin yazılım üretmek, ihraç etmek ve her yaştan kendini geliştirip meslek sahibi olmak isteyen insanları için kurulmuş bir sosyal sorumluluk projesidir.

    Paylaşımlar

    • Güncel Paylaşımlar
    • Trend Paylaşımlar
    • En Çok Tıklanan Paylaşımlar
    • Yanıtlanmayan Paylaşımlar

    Kurumsal

    • Blog
    • Partnerler
    • Sponsorlar
    • Hakkımızda
    • İletişim

    Yardım

    • Destek
    • Rozetler
    • Logolarımız
    • Kullanım Koşulları
    • Kişisel Verilerin Korunması
    • Aydınlatma Metni

    Sosyal Medya

    © 2021 yazilimkoyu.org. Sosyal sorumluluk projesi. Bütün hakları saklıdır.