Auzef Veri Yapıları 2025-2026 Final Soruları
https://lolonolo.com/2026/09/16/veri-yapilari-2025-2026-final-sorulari/
auzef, Veri Yapıları, Yönetim Bilişim Sistemleri
Show More Show Less View Video Transcript
0:00
Lolo Nolo platformuna hoş geldiniz. Bu
0:02
dersimizde veri yapıları 2025-2026
0:06
final konularını, çıkmış sorularını ve
0:08
detaylı açıklamalarını derinlemesini
0:10
inceliyoruz. Harika bir inceleme seansı
0:12
bizi bekliyor. Final sınavında karşınıza
0:15
çıkacak sistemlerin temelini oluşturan o
0:17
kritik yapı taşlarını beraber
0:19
ezberlemeden tamamen mantığına oturtarak
0:22
çözeceğiz. Enerjimiz yerindeyse ve
0:24
odağımız tamsa hadi hiç vakit
0:26
kaybetmeden başlayalım. Bugünkü rotamız
0:28
oldukça net. Sırasıyla diziler ve bağlı
0:31
listeler, yığın ve kuyruk sistemleri,
0:34
ağaçlar ve öz yineleme mantığı ve son
0:36
olarak da sıralama ve arama
0:38
algoritmalarına bakacağız. Hemen 1inci
0:40
bölüm diziler ve bağlı listelerle
0:43
hızlıca start verelim. Tüm veri
0:45
yapılarının varoluş amacı aslında
0:47
temelde bilgiyi bellekte nasıl
0:49
tuttuğumuzla alakalıdır. Diziler yani
0:52
bildiğimiz arrayler elemanlarını
0:54
bellekte adeta omuz omuza yan yana
0:56
dizer. Bunun harika bir artısı var.
0:59
İşlemci bir veriye bakarken yanındakinde
1:01
şipşak hafızayı alır. Yani cash diğer
1:04
adıyla ön bellek performansı inanılmaz
1:06
yüksektir. Ama işin bir de karanlık
1:09
tarafı var. Boyutları tamamen sabittir.
1:12
Program çalışırken bana biraz daha yer
1:14
lazım diyemezsiniz. İşte tam bu noktada
1:17
o katı sınırları yıkan dinamik bir
1:18
kurtarıcı yani bağlı listeler sahneye
1:21
çıkıyor. İhtiyacınız oldukça bellekte
1:23
yeni bir düğüm açıp bir öncekine
1:25
bağlıyorsunuz. Son derece esnek ve hayat
1:27
kurtaran bir yapı. Tabii bu esnekliğin
1:30
de ufak bir bedeli var. O da güvenlik ve
1:32
dikkat. Bağlı listelerde bir elemanı
1:34
silmek ya da eklemek aslında hareket
1:37
halindeki bir trenden vagon çıkarmaya
1:39
benzer. Eğer boş pil listede işlem
1:41
yapmaya çalışırsanız veya o köprüleri
1:43
doğru kurmazsanız sisteminiz felaket bir
1:46
şekilde çöker. Ekranda gördüğünüz ifad
1:49
eş eş null pointer kontrolü var ya o
1:52
sadece bir kod satırı değil kelimenin
1:54
tam anlamıyla bir hayatta kalma
1:56
kuralıdır. Ayrıca çift yönlü bir
1:58
listeden aradan bir eleman çektiğinizde
2:01
prev ok next = next diyerek önceki ve
2:04
sonraki vagonları birbirine sağlamca
2:06
dikmeniz gerekir ki bağlantı kopmasın.
2:09
Peki düşünün ki bu trenin en sondaki
2:12
vagonunu aldık ve tekrar en baştaki
2:14
lokomotife bağladık. Ne olur? İşte o
2:17
zaman dairesel bağlı liste elde etmiş
2:19
oluyoruz. Kulağa çok akademik gelebilir
2:21
ama bunu aslında her gün her an
2:23
kullanıyorsunuz. İşletim sistemlerinde
2:26
meşhur bir Round Robin CPU planlaması
2:28
vardır. İşlemciniz Spotify'a biraz güç
2:30
verir. Sonra sekmelerdeki Chrome'a
2:32
geçer. Ardından Word'e uğrar ve liste
2:34
bitince hop tekrar başa dönüp Spotify'a
2:36
güç verir. İşte bu sonsuz adalet döngüsü
2:39
tam olarak bu dairesel bağlı yapı
2:41
sayesinde tıkır tıkır işler. Belleğin en
2:44
temel yapılarından biraz daha yukarı
2:46
çıkalım. İkinci bölüm, yağın ve kuyruk
2:49
sistemleri. Aslında bu iki terim de
2:52
günlük hayatın ta kendisi. Yığın yani
2:55
stek yapısı tamamen son giren ilk çıkar
2:57
mantığıdır. Biz buna liso diyoruz. Bunu
3:00
mutfaktaki tabak yığını gibi düşünün.
3:02
Yıkadığınız tabakları üst üste
3:04
dizersiniz ve içinden birini almak
3:06
istediğinizde gidip en alttakini
3:07
çekmezsiniz, değil mi? En son koyduğunuz
3:10
yani en üstteki tabağı alırsınız. Kuyruk
3:12
yani Q ise bildiğimiz ilk giren ilk
3:15
çıkar yani fifo mantığıdır. Dümdüz banka
3:18
veya sinema kuyruğu yahu. Sıraya ilk kim
3:20
girdiyse işlemi ilk o halleder ve
3:23
sıranın en başındaki şanslı kişinin
3:25
hizmet alıp sıradan ayrılması işlemine
3:26
de havalı bir tabirle decion işlemi
3:29
diyoruz. İşleri biraz daha hiyerarşik ve
3:32
karmaşık hale getirelim. 3ünc bölüm.
3:35
Ağaçlar ve öz iğneleme mantığı. Bakın
3:38
sınavda herkesin istisnasız düştüğü o
3:40
meşhur tuzağa geldik. Burayı çok iyi
3:42
dinleyin. Ağaç yapılarında derinlik ve
3:45
yükseklik sürekli birbirine karıştırılır
3:47
ama aralarında çok net bir fark vardır.
3:50
Derinlik sadece tek bir düğümün en
3:52
tepedeki kökü olan kişisel uzaklığıdır.
3:54
Yani her düğümün derinliği farklı
3:56
olabilir ama yükseklik dediğimizde olay
3:58
değişir. O zaman ağacın kökten en uç
4:01
yaprağına kadar inen toplam
4:02
derinliğinden yani tüm ağacın
4:04
kapasitesinden bahsediyoruz demektir. Bu
4:07
farkı cebinize koyun. kesin soru
4:08
kurtarır. Peki bu devasa ağaç dalları
4:11
arasında kaybolmadan nasıl gezineceğiz?
4:14
Sihirli kelimemiz öz yineleme namı diğer
4:17
recursion. En basit haliyle bir
4:19
fonksiyonun işini bitirebilmek için
4:21
kendi kendini tekrar tekrar çağırması
4:23
demek. Özellikle ağaçlarda derinlik
4:26
öncelikli arama yani dfs yaparken bu
4:28
yöntemi çok kullanırız. Fonksiyon kendi
4:31
kendini çağırarak dalların en ucuna
4:33
kadar korkusuzca iner. İnanılmaz zarif
4:35
bir yöntem. Fakat biraz fazla derine
4:38
inerseniz işin rengi değişebilir. Öz
4:41
yinelemeli bir fonksiyon durmadan derine
4:44
indikçe işletim sisteminizin
4:45
belleğindeki çağrı yığını yani col
4:48
stackte yavaş yavaş yükselmeye başlar.
4:50
Ağaç devasa boyutlardaysa ne olur peki?
4:53
O meşhur herkesin korkulu rüyası hatayı
4:56
alırsınız. Stack overflow yani yığın
4:59
taşması. Sistem güm diye çöker ama merak
5:02
etmeyin sistemi kaderine terk etmiyoruz.
5:05
Bunun yerine döngüsel yani iteratif bir
5:08
yaklaşıma geçiyoruz ve az önce
5:10
öğrendiğimiz o stek veri yapısını bu
5:13
sefer monel olarak kendi ellerimizle
5:15
kodumuza entegre ediyoruz. Problemi
5:17
kökünden çözen gerçek bir mühendislik
5:19
harikası. Ve geldik incelememizin son
5:22
parçasına. 4. bölüm. Sıralama ve arama
5:25
algoritmaları. Bunu sınav öncesi son
5:28
dakika kopya kağıdınız gibi
5:29
düşünebilirsiniz. Algoritmaların
5:31
verileri sıralarken bazı karakteristik
5:33
huyları vardır. Mesela kararlı yani
5:36
stable olması değeri aynı olan
5:38
elemanların orijinal sırasını bozmaması
5:41
demektir. Tabloya bakarsak merge sort
5:43
gayet kararlıdır ve sırayı korur. Ama
5:46
selection sword maalesef kararsızdır. Ve
5:48
burada çok şaşırtıcı bir isme dikkat
5:50
çekmek istiyorum. Bubble sword. Genelde
5:53
çok hantal bilinir ama eğer diziniz
5:55
zaten sıralıysa ve siz kodun içine ufak
5:58
akıllıca bir erken çıkış mantığı
6:00
eklediyseniz en iyi senaryoda o n gibi
6:03
doğrusar ve çok hızlı bir sürede işini
6:05
bitirebilir. Verilerimizi harika bir
6:07
şekilde sıraladık. Peki milyonlarca
6:10
satır verinin içinden aradığımızı nasıl
6:12
bulacağız? Baştan sona tek bakmak aylar
6:16
sürer. Size bir soru. Yarıya bölme yani
6:19
böl ve yönet mantığıyla bu aramalarda o
6:22
mükemmel hıza nasıl ulaşırız? Cevap tek
6:25
kelimeyle muazzam. O log n ikili arama
6:29
yani binary search tam olarak budur
6:31
işte. Elinizde sıralı bir veri varsa
6:34
algoritma diziyi tam ortadan ikiye
6:36
böler. Aradığım sayı sağda mı solda mı
6:38
diye bakar ve bulamadığı devasa yarıyı
6:40
direkt çöpe atar. Kalanı bir daha ikiye
6:43
böler. Milyarlarca veriyi bile sadece
6:46
saniyeler içinde taramanızı sağlar. Böl
6:48
ve yönet stratejisi sayesinde
6:50
ulaşılabilecek en etkileyici zaman
6:51
karmaşıklığıdır bu. Eğer bu
6:54
anlattıklarımızı bizzat pratik yapmak
6:56
isterseniz lolonolo.com
6:58
- deneme sınavı formatında çöz, test et,
7:01
eksiklerini kapat. Unutmayın dünyadaki
7:04
bütün problemleri çözen tek bir kusursuz
7:06
algoritma yoktur. Sadece sizin
7:08
hedefinize en uygun veri yapısı vardır.
7:10
Peki siz devasa bir sistem tasarlıyor
7:13
olsaydınız bu öğrendiklerimizden en çok
7:15
hangisine güvenirdiniz? Bunu bir
7:17
düşünün. Akıllıca çalışın. Sınavda
7:19
hepinize başarılar dilerim. Görüşmek
7:21
üzere.
Jobs & Education

