30 Kasım 2011 Çarşamba

Test 2 - Kontrol Soruları ve Cevapları * TÜRKÇE

Test 2 - Kontrol Soruları ve Cevapları aynı başlıktaki konudaki soru sırasına göre türkçeleştirilmiştir. Devrik cümleler çeviri sırasında oluşmuş olabilir. Burdaki amaç soruları hem Türkçe bir kez daha tekrar etmek hemde soru ve cevaplarla ilgili Türkçe kaynak sağlamaktır.

**************************************************

Nesneye yönelik usul ne unterscheidetsichStil Programlama?Prosedürel programlama programlarında daha küçük alt sorunlar(= Prosedürler) kuruldu. Programlama Bu tür özellikle uygundurbireysel algoritmalar uygulamak küçük programlar yazmak için.Nesne tabanlı programlama ise, çeşitli bir programbölünmüş Soyut makinalar (bu nesneleri olarak dışarıdan görülmesi)bir makine olmadan birlikte bu işin diğer ayrıntıları bilir.Büyük fark stilleri o nesne yönelimli olmasıdırDe ederken merkezi kontrol programlama, terk edilmiş birsürecin tüm ayrıntılarını prosedürel programlama kontrol. Vermek


Bir nesne nedir?Bir nesne bir sınıfın örneğidir. Onun durumu değişken ile karakterizediryöntemlerle onun davranış tanımlar. Onun kimliği açıktır.


Program türleri nelerdir, nesne tabanlı programlama iyidir?Uzun yaşam döngüsü yazılım geniş programlarGenişletmek için kolay olmalıdır kapsamlı programlar.

Ne sorunlar, büyük programların geliştirilmesinde hesaplamak gerekiyor?● Onlar (farklı algoritmalar çeşitli dayalı her küçük olanBöylece birbirleriyle karmaşık şekillerde bağlı) alt görevleri çözünkendi kendine tutarlı, tüm program oluşturulur ve● büyük karmaşıklığı nedeniyle, genellikle mümkün olmayan birbirçok bireysel parçaların tek bir adımda büyük programbirleştirmek● Uzun ömürlü yazılımı uzun süre muhafaza edilmelidir(Tüketen pahalı)1Bir programın ● yapısı çok önemli bir kalite kriteridir(Basitlik, okunabilirlik, idame)


Artan yazılım geliştirme ne demektir?Bir programın kademeli yaratılması. Küçük bir parçası Başlangıçta, sadeceGörevler çözüldü. Adım adım, parça ve deneyimleri ekleyinÖnceki adımlar kalkınma sürecine dahil.


Dönem çarpanlara ayırma ne anlama geliyor? Bir çarpanlara zaman iyi olduğundadeğil?Ayrıştırma, küçük birimler halinde büyük programları bölünmesi anlamına gelirProgramın ilgili özellikleri ve yönleri olduğuözetlenmiştir. Bir programda aynı birden çok yeriniz varsaÇalıştırmak için Komutlar, bu noktaları bir yöntem çağrı değiştirilirBu komutları.İyi çarpanlara karakterize, tüm bu yerlerde bir değişiklikyöntem tek bir değişiklik nedeniyle.Eğer bir program özellikleri ve birbirleriyle ilgisi olmayan yönleri,Bu açıkça ayrılmalıdır. Bir değişiklik bağımsız olmalıdırbirbirinin yapılacaktır. Bu durumda, bir çarpanlara iyi değilFikir.Bir çarpanlara ayırma değil, yapılan ya da edip bir karardırgenellikle çok zor. Bu noktada, sadece iki anahtar kelimeler: sınıf bütünlüğü veNesne bağlantı (sayfasına bakınız. 222)


Değişkenlere yerel değişkenler farklı nesne nedir?● Yerel değişkenler (de denilen işlem kadar sadece mevcutonlar geri tanımlandıkları) 'dir● Nesne değişkenleri bir nesnenin veri depolamak için kullanılan ve her yerde olan olanProgram, her yerde nesnesine bir başvuru var


Nedir ve kapsülleme, veri saklama ve veri soyutlama nedir?Tek bir birim nesne, değişken ve yöntemleri özellikleribirlikte kapsülleme denir. Birlikte veri gizleme ile,Özel ayrıntılarını gizlemek, veri soyutlama denir.


Ne bir mesaj olduğunu ve neden gönderme sözHaberler ve sadece yöntemlerini çağırarak?● onun yöntemlerden birini (gerçekleştirmek için nesne üzerinde arama hangiYöntem hangi gerçek parametreler göre)Biz birbirinden büyük ölçüde bağımsız olduğu açıktır yapmak için ●2Nesneler birbirleri ile iletişim kurmak için yapmanız gereken3● Bu mesaj ilk etapta biter sanmıyorum bu çünküiyi tanımlanmış bir algoritma belli bir kısmının çalışacaktır, ama vardırne sadece bir fikir yöntemi neden olur.● Çok biçimlilik ise ("çeşitlilik") nesnenin türüne bağlı olarak, birbaşka bir yöntemi çalıştırılır - Bu karar ne değilArayanlar.


Ne altında, bir nesnenin bir arabirim ne demektiruygulanması?● Arabirim: yöntemi beyanda ve soyutAçıklama bir nesnenin dış karşılık kurdu● Uygulama: tam olarak tanımlanan davranış arayüzü içine ayarlarayrıntılı olarak belirlenmiş, bir nesnenin iç görünüm karşılık


Ne ile ve hangi sınıflar vardır?● ayrıntılı olarak bir nesnenin yapısı (uygulama) açıklayın● çalışma zamanında yeni nesneler yaratmak için bir plan olarak görülebilir


Nasıl Java görünürlüğünü etkileyebilir?● düzenleyicileri kullanma● Görüş Paketi (standart), içinde (koruma, kamu, özel görünürOlan kalıtsal sınıfları + Sınıfı)


Nerede en görünür nesne değişkenleri nelerdir?● Sadece yere değişkenler erişilebilir olması gerekirolabilir


Ne Veri Gizleme ile ilgili alıcı ve ayarlayıcı yöntemleri var mı?Getter / setter sayesinde ben kolay veri erişimi, ki muhtemelen dahili olabilirrepresaentiere oldukça farklı. Örneğin, sınıf bit maskesini iç alan, uzun / int kaydeder, ancakbeklenen ve dizin mantıksal / döner erişimine izin verir.P. 179 okur:public void Setx (çift newX) {x = newX;}kamu çift GetX () {return x;}Sözde alıcı ve ayarlayıcı yöntemleri vardır ki sadece birNesne değişken veya set sorgu. Bu tür yöntemlerle alın, nesne değişkenleri erişmek için de özel olarak değişken kendisibildirilmiştir. Ders kitapları nedeniyle, sırf bu örnekleri kullanmakSadelik. Programlama uygulamada belirleyici ve alıcı olmalıYöntem, çünkü onlar aracılığıyla, mümkün olduğu gibi, yararlarını önlemek içinVeri büyük ölçüde kaybetti gizlenmesi.


Kimlik, durum ve davranış kavramlarını açıklar.● Kimlik: bellekte nesnenin açık adresi, kimliği hakkında4Adresli nesne, nesneleri "aynı" ise aynı referansBellek referans durumu değiştirmek gidebilirsiniz kayıp değil5● Durum: nesne değişkenleri tarafından tanımlanan, nesneleri "eşit" Eğer onlarAynı durumu (ortak sınıf tarafından verilen + davranış)statü eşitliği değişebilir (örneğin, değişken değeri değişir)kaybolmak● davranış: yöntemlerle belirlenmiş - bir mesajın alınması üzerine yapılır.Nesneler aynı iletiyi ne zaman aynı davranış veaynı durumda aynı şeyleri


Kimlik veya eşitlik Java nesneleri karşılaştırmak nasıl?● Kimlik: == (! Veya = eşitsizlik için)● eşitlik. Eşittir (kendileri için kendi sınıfları tanımlar)


Ne bir yapıcı olduğunu ve nasıl tanımlıyor?● Bir nesnenin ilk devlet (başlatma hazırlamak için kullanılırDeğişkenler)Bu normal olarak ● yapım yöntemleri, ancak: adı yok, sınıf karşılıkSonuç tipi


Eğer sözde değişken ve bu ifadeler ne kullanabilirimBu form (...)?● "Bu", şu anda olduğu nesneye bir referanstır● Bu (...): aynı sınıftan başka bir yapıcısı çağrı


Nasıl statik yöntemleri ve sınıf değişkenleri kullanabilir?● Kelimeler: "statik" statik yöntem / sınıf değişkenleri gösterir● Yöntem: ileti sınıfı gönderilir, (öyle değil nesne gönderilmezBir sınıf örneğine statik yöntem çağrısı ile oluşturulanolabilir)● değişkenleri de kendisi burada kullanılması gerekir sınıfına hiçbir örnek aitdeğişkenlere erişmek için vardır.


Ne sınıf değişkenleri ve sabitleri farklı kılan nedir?● anahtar kelime "statik" hatta "son" sabitleri var● Her zaman aynı değeri sabitler, sınıf değişkenleri değiştirilebilir varolacak● Sabit adı genellikle BÜYÜK HARFLERLE yazılmış"Kamu" sağduyu ● tanımı


Arabirimler nelerdir?● karmaşık bir arayüz yapıları anlatınız● Bir nesne tabanlı program parçaları, bir arasında net bir ayrım yapın


Ne demektir zaman bir arabirim uygulanması birikonuşuyor?Uygulama sınıfında yöntemlerden ● Özel formülasyonu ileArabiriminde tanımlanan tüm yöntemleri üzerine yaz.



Biz polimorfizmi söz ne zaman? Rolü nedirNesne tabanlı programlama Polimorfizmi?Bir nesne birden çok türde olabileceğini ● mülkiyet● Mevkii: programlama çabası (nokta örneğin ve disk olabilir azaltırhesaplama nesneleri farklı bir yöntem ile yapılmalıdır)ve bakım azalır. - Veri farklı türleri aynı kullanabilirsinizArayüz işlenecektir. Tüm bunlar, alt polimorfizm gösteriryanı sıra, parametrik ve ad-hoc polymorphism de vardır.● http://de.wikipedia.org/wiki/Polymorphie_ 28Programmierung% 29% bakınızBiz tepki ortasında sayfa 193 bu almış:Polimorfizm bir nesne birden çok türde olabileceği anlamına gelir. Bu ek olarak birHer tür aynı anda eksik ya da kendisi supertype. Arayüzler ücretsiz olduğundantek miras sınırlamalar dışında, çok esnek bir arayüz olanOlası program tasarımı. Böylece, iki farklı koşullar için bir arabirim kullanılırolmak.


Hangi koşullar altında bir tür T bir tip U alt edilir?● T U grafik bir yol (T U supertype olduğu) ise, yaniT ya da bir alt U T elde edilirse;Java U instanceof T ile test edilebilir● Her tür üst ve alt kendinizi aynı türüdür


Neden dinamik bağlama gerekiyor?Yürütülecek yöntem çalışma zamanında belirlenir durumunda. (BuYöntem daha sonra) polimorfik olabilir


Ne ölçüde dinamik bağlama birden fazla şubesi ile ilişkilidir?Dinamik bağlama birden yürütülmesine dallanma biraz nedeniylestatik bağlayıcı daha az verimli.


Neden dinamik bağlama geçmek ifadeleri ile karşılaştırıldığındami tercih ediyorsunuz?Başka şeylerin yanı sıra, dinamik bağlama verimli bir switch ifadesi ile karşılaştırılır.Bu dinamik bağlayıcı bir program olduğu durum vardırdaha az / daha az çabayla kod geliştirmek için kullanılan bir program gibi olabilirbir switch ifadesi. Eklenen bu ayrıca switch ifadesi olanhata eğilimli.Dinamik bağlama daha verimli olduğu için.Arayüzler (arayüzler) kullanılıyorsa, bir keyfi (hattabilinmiyor) bu arabirimi uygulamaya koydu ki, arkasında yatan nesne.Böylece, dinamik bağlayıcı bir döküm var switch ifadeleri, daha esnekuygun türü yapmak ve uygun yöntemi arama ediyorumvar.


Gerçek için uzmanlaşma ve analojiler amacı nedirDünya?Gerçek dünya ve tasarım uzmanlık A konsantre odaklanırken, genellikle nispeten olabilirkolaylıkla izlenebiliyor en başından beri bir açı diğer her şeyi genişlemesineolarak gerçekten gereklidir.Uzmanlık ve gerçek dünya mukayeseler bize yardımcı araçlardırtanımak için iyi bir program için grafik bir tip uygun nasıl.


Ersetzbarkeitsprinzip ne yapar?A tipi U sonra yazın T tam alt edilecektir tip U tüm nesnelerikullanılmış, hangi tip T nesneleridir beklenebilir.


Miras ne demektir?Başka bir sınıf türetmek, bu nedenle satın alma da dahil olmak üzere yapı,Değişkenler ve yöntemleri. Her sınıf için (Java) yalnızca sınıf A mirasNot: Bu, ancak, arayüzleri herhangi bir sayıda uygulanmaktadır.


Kavramları temel sınıf, türetilmiş sınıf, alt sınıf ve açıklayınızÜst sınıf.● Taban sınıf == Üst Sınıfı: Sınıf türetilmiştir● türetilmiş sınıf == Sınıfı: yöntemleri Ober-/Basisklasse miras


Bir geçersiz yöntemi nedir?Kalıtsal bir yöntem türetilmiş sınıf / alt sınıfta geçersiz kılınırYani içerik yeni kodu ile değiştirilecektir. (Aynı imza, polimorfikYöntem) wikipedia bakın


Neden genel olarak korunmayan değişkenleri mi?Ilan "korumalı" gibi değişkenler türetilmiş sınıfları görülebilir. DoğrudanÜst sınıf değişkenleri erişim ama kötü bir programlama stili dar olduğunu.


Olarak türetilmiş sınıfları nesneleri başlatmak için?● İlk olarak, her zaman üst sınıf bir kurucu denir● süper (...) kullanarak yapıcı ve geçen değişkenler belirleyebilirsinizolacak● lt Script: "yeni bir nesne oluşturmak her zaman bir ilkSınıf yapıcısı, alt sınıfının yapıcı yürütülür.Süper (...) kullanarak biz üst sınıf bir yapıcı ve belirleyebilirsiniz8Değişkenler geçirebilirsiniz. "


Ne bu komut kullanılabilir nerede süper (...) vemi?Sınıf içinde yapıcı ● kesin özellikleri


Bir yöntem çağrısı bir değişken erişim farklıdırdinamik bağlama ile ilgili?Değişkenler erişim dinamik fakat bağlayıcı statik değilse(27.10.11 s.15 gelen P. 208 bildiriler ya da saydam)


Ne için amaç bir değiştirici ile soyut sınıflar ve yöntemler olabilirve son verilmiştir?● soyut sınıflar: bu sınıfın hiçbir örneği oluşturulur olabilir,● soyut yöntemler: hayata olmamalıdır, türetilmiş sınıflar(benzer arayüzler) uygulanmalıdır● Son sınıflar bu sınıftan başka sınıfların elde edebilirsinizolacak● taranan makinesi: yöntemi herhangi bir türetilmiş sınıf sınıf geçersiz olabilirolacak


Nasıl bir program içerisinde arayüzü yapı ilave edebilirsiniz? Getirmek● bir arabirim sınıfı, örneğin devralacak bir rol temsilKendilerini çizebilirsiniz sınıflar için sökülebilen arayüzü. (Dikdörtgen, resim,vb)● Arabirimler daha dersleri almaya ve uygulamaya olabilirBütün bu sınıfların ortak supertype dolayısıyla rolü.


Nesne var ve ne amaçla hangi yöntemlersahip oldukları?-) Dize toString: dönüştürmek dize-) Boole eşittir (Object) eşitlik kontrol edilir-) Orta hashCode () aynı nesneleri -> aynı hash değeri-) Sınıf getClass () nesne sınıfı (= dinamik tip)-) Object clone () nesnesinin bir kopyasını oluşturur- Yayınlanmadan önce) Void) (sonuçlandırmak Temizleme bellek-) Bekle, haber, eşzamanlı programlama notifyAll(31/10/11 s.1 itibaren Slayt)


Nasıl zamanında dinamik yazabilirsiniz, bu nedenle sınıfBir nesnenin (üç olasılık) tespit?Ilk Sınıf getClass () nesne sınıfı döndürür, yukarıya bakınIkinci Belirli bir sınıf adını instanceof operatörü (Object) konumundadırthis.getClass () ile aynı == o.getClass () güvenli ve 2 eğer yanlış sağlarNesneler farklıdır. (Bildiriler S 215 ilk paragrafa bakın)Üçüncü Yayınları sınıf de kaydetti (muhtemelen) üçüncü seçeneği vardırsadece alt türleri üzerine izin verilir.4 object.class, klasse.class geçerli sınıf döndürür

Bu tür temel tip referans türleri farklı atmalarını nedir?Neden bunu önlemek gerekir?Gibi atan türleri değişime karşı başvuru türleri, üzerinde atmalarınıBir ifade (sadece geçici olarak) ilan yazın. Tam olarak neden yayınları olanmümkünse başvuru türleri hata çok yatkındır ve kaçınılmalıdır.


Nasıl sözde değişkenleri Bu ve süper yapmakbirbirinden?, bu sınıf, süper üst anlamına gelir. faydalı ise örneğinbiz kodu yeniden için geçersiz işleve erişmek istiyoruz.(Sınıfı, işlevi yalnızca üst sınıf genişletir)


Neden nesne karşılaştırmaları için hashCode değil mi?hashCode sayıların aynı sırada aynı nesneler için her zaman, amaConverse, iki nesne eşit olabilir, doğru olmamasına rağmen hashCodeeşit sayıda sağlar.

Sınıfları, arabirimleri, yorumlar hangi bilgileriYöntem, yapıcı ve nesne değişkenleri dahil edilecek?Deneyimli bir programcı bir ne değildir açıklayan İyi yorumProgram kodu bir görünüm okumak, ama anlamak için bilmek gerekir.● sınıflar ve arayüzler: türü, amacı hakkında genel bilgi veTür nesne Kaba yapı● Yöntem ve kurucular: Eğer gönderdiğiniz bilgiMesajlar ve oluşturmak gerekli nesneleri● Nesne Değişkenleri: tanımlama amacı olmasa adı ve içeriği ileaçık

Yorum yapabilirsiniz şeklinde güvenceler ne türonlar farklı?● durum● sonşartı● değişmez● Geçmiş Kısıtlar




Ne ölçüde yaş isim ve yorum yapabilirim? Ne yapabilirsinizAncak, do?Program değişiklikleri veya geliştirmeleri kullanabilir ve böylece tarafındanDeğişkenleri değiştirmek, bu nedenle orijinal adı Önemi - o açıksaDe uyumlu olan değişken kullanarak artık uygundur.Yorumlar sadece bir değişken veya eski bir yöntemi kullanabilirsiniz, Aynı zamanda bir değişim gerekli kılan açıklanmaktadır.Yorum adapte veya olmalı bu nedenle bir program değiştirdiğinizdeDeğişkenler ve yöntemleri yeniden adlandırılır.


Nasıl kötü isim ve gereksiz açıklama seçilmiş olabilirProgram kodu çalıştırmak?Bu okuduğunu anlama programının bir parçası ve etkilerProgram bölümünde Güven diğer programcılar tarafından belki, azaltmak içinek önlemlerin inşa edilir (s. 221)

Factorized programlarından iyi ne ayırır?İyi bir yerel çarpanlara program değişiklikleri mümkündür ile: Bu doğru için yeterlibakmanız değiştirmek istediğiniz yeri. Yerel nedeniyle herhangi bir değişiklik yapılmamıştırProgramın geri kalanı ya da ancak çok küçük etkiler.Sınıf uyum ve nesne bağlantı kavramlarını açıklar.


Bu çarpanlara ayırma ile ilgili nedir?● Sınıf uyum: Bir sınıfın ilişki içeriğinin derecesi(Tüm değişkenler ve yöntemleri iyi eşleştirilir Yüksek ve isimleriGörüş ve uygun açıklamalar temsil eder)● nesne bağlantı: birbirinden nesnelerin kalınlığı bağımlılığı (güçlü, eğerBir dışarıdan görünür değişkenleri veya yöntemleri, mesaj çok) GönderÇarpanlara yüksek sınıf uyum ve mümkün olacaksoluk nesne bağlantı


Nasıl nesne sınıfı bütünlüğü ve bağlantı olabilir? TahminKavramsal değişiklik ya da bir parça programı geçmekte edilebilir olarakde bu açıdan değerlendirmek.


Yorum gerekli değişiklikleri tehlikeli, ne zamanne zaman daha zararsız?Değil çünkü yorum arayüzleri değişiklik, tehlikelisadece yöntem değişir, ancak bir ileti görüntüler programındaki tüm yerlerveri arayüzü iletir.Arabirimi aynı kalırsa bir yöntem açıklamaları yapılan değişiklikler, nispeten zararsızdır.Yorum yöntemleri u Arabirimleri uyum olmalıdır - Bir yorum değiştirdiğinizde, daha sonraBu yöntem / arayüz ayarlamak için var!

Davranışı belirtmek için?İsimler ve yorumlar davranışını belirlemek için. Bu uygun sorumludurÖnemli Ersetzbarkeitsprinzips. (Script p.225)


Ne zaman bir supertype bu bir alt tür davranışUyumlu?Eğer beklediğiniz gibi alt tüm nesneleri tüm yöntemleri hareket halindesupertype karşılık gelen yöntemleri beklerdik.


Hangi birbirinden ikame programı parçaları decouples?Bir nesneye bir mesaj gönderir bir program kodu yalnızca bilgi ihtiyaçlarınıBu nesne hakkında biliyorum, ama herhangi bir bilgi alt türleri hakkında gerekliBu nesne. Bununla birlikte, bu kod nesneyi üzerinden mesaj erişebilirsinizFarkında olmadan, alt gönder ve kod hala yürütülür. Bu yüzdenBu kodu ve her alt arasında doğrudan bir bağlantı gerekmezProgram bileşenleri decoupled, bu nedenle var


Hangi türleri daha kararlıdır?Sık kullanılan ve bu nedenle zaten çok iyi olan Sabit, özellikle türleritest edilmektedir. Türleri gibi istikrarlı olarak, tip hiyerarşisinde genellikle daha yüksektirdaha aşağıda.


Nereye kararlı adam özellikle dikkat etmelidir?Idame nesne değişkenlerini ve resmi parametreler ise sabit ile daha iyidirAncak, zaman içinde değişim hangi türleri ve ilan edilir. (Script p.226)


Neden üst sınıfı kadar program kodu, mantıklı değildevralmak istiyor?Bir tür hiyerarşi kurarken, biz çok gibi, bakım gerekirBir üst sınıf devralan yöntemleri. Bunun yerine, bir sağlamalıdırher kullanıcı bir ilan türü, gerçek ihtiyaçları vardırkarşılık gelir. Bir yöntemleri davranışını tamamen konsantre olanYani birine bir alt her yöntemi uygun emin olunSupertype uyumlu davranış yöntemi var. Bu işlemi uygularsanız, sonuçTipi iyi ayırımı sağlamak hiyerarşiler, ve çok yukarıda türleri içindetürü hiyerarşisioldukça kararlı. Başlangıçta bu olduğunu düşünüyor olabilir birsınıflar ve arayüzler gereksiz program kodu daha fazla sayıda yazar.Ancak sonuçta, yazma program kodu bir sürü kaydeder veProgram korumak daha kolaydır.


* * * * * * BÖLÜM 4


Ne algoritmalar ve veri yapıları ile kastedilen nedir ve nasılBu iki kavram ilişki?● algoritma: eylem kural adım sınırlı sayıda çözmek içinSorun● veri yapısı veri birbirlerine göre düzenlenir açıklayan ve nasılbireysel elemanlarına erişilebilir● birbirine çok bağlı; algoritmalar belirli veri yapıları kullanarakönde, bu yüzden onlar olmadan gelişmiş olamaz. Tasarımındaprogramlarının biz gerekli özellikleri temelinde kararVeri yapısı bizim sorunu çözmek için Access işlemlerien çok uyar.



Hangi koşullarda iki algoritma ve veri yapıları aynıdır?Orada değil ne zaman?Aynı fonksiyonel özellikleri sağlarsanız, aynı sonuçları öyle.Olmayan fonksiyonel özellikleri (maliyet, bellek gereksinimleri, verimlilik) olarakOnlar ancak, farklılık göstermektedir.Fen fakültesi mezunu 234 (aşağıda)


Beş farklı veri yapıları listesi.● Dizi● bağlantılı liste● İkili Ağaç● hash tablosu● Yığın● Kırmızı-Siyah Ağacı● Ağaç



Stratejiler nelerdir?Bir strateji altında uzun vadeli bir yaklaşım anlamına gelirtemel sorular. Bu daha çok stratejik hedeflere ulaşılacaktır.Bir sistemin veya algoritmalar ve veri yapıları basitleştirilmesi



Neden bu kadar çok veri yapıları özyinelemeli edilir mi?Karmaşık algoritmalar, programı daha kolay özyinelemeli veri yapıları vardırdaha iyi netlik, için, kompakt, kullanımı kolay, ve daha sonra olabilir teşekkürler. DüzenleÖzyinelemeli yöntemlerden farklı olarak, özyinelemeli veri yapıları pek vardırolmayan özyinelemeli veri yapıları yerini aldı.Özyineli veri yapıları veri keyfi büyük miktarda tarif, ellerindendinamik olarak büyümeye ya da küçültmek ve bu nedenle esnektir.


Ameliyatlar erişim yığınlar, bağlı listeler ve ikili ağaçlar var nelergenellikle?● Yığın: itme, pop● Bağlantılı Listesi: ekleme, kaldırma içerir● İkili ağaç: ekleme, kaldırma içerir


Ne özellikleri bir bağlantılı liste ayırtve ikili ağaç?● Bağlantılı Liste: Liste tüm giriş noktaları sonraki öğeye, sayısınırsız elemanları, kolayca öğeleri değil, doğrudan ekleyinEndeks erişilebilir, arama alıcı● ikili ağaç: her giriş iki giriş (Sortierung!) kadar olanBağlantılı liste ile karşılaştırıldığında arama daha verimli ve ekliyorkarmaşık


Nasıl veri yapıları yönettiği grafikler ile birlikte mi?Hemen hemen tüm özyinelemeli veri yapıları yönettiği grafikler elde edilebilirgöstermektedir. Bu grafik özellikleri olanların uygunVeri yapıları.


Nasıl özyinelemeli yöntemleri gelen iteratif yapmak(İç içe değil)?Yöntemleri yerel iteratif beri yinelemeli yöntemler, genellikle çok kısadırGeçici depolama ihtiyacı için Değişkenler, yinelemeli yöntemler ise"Bu" kullanmak yapılmıştır. Ayrıca, kaydedebilirkarmaşık koşullu ifadeler. Özyinelemeli kullanırken kontrast elde edilirYöntem, yöntem çağrıları çok sayıda.


Yinelemeli veri yapıları ve özyinelemeli yöntemleri nelerdirortak indüksiyon?Tümevarım ve yinelemeli veri yapıları için, bir temel ihtiyaç. Resmen,indüksiyon yoluyla gerçekleşeceği yönünde herkes için bir çağrının tamamlanmasından sonradikkate belirli özellikleri ile veri öğeleri karşılanmaktadır....? Ancak ne(S 247):İç içe yöntemleri ve özyinelemeli veri yapıları büyük benzerlikler gösteririndüksiyon tarafından. İspat Bu matematiksel yöntemDoğal sayılarda göre. Biz kanıtı olduğunu ifadesayı 1 (veya 0). Eğer varsayımı altında bu deyimiO zaman, n + 1 için, herhangi bir doğal sayı n geçerli olduğuaslında herhangi bir doğal sayı n için de geçerlidirİndüksiyon tabanı ve indüksiyon adım programlama de vardır. Onay


Nasıl bir algoritma maliyetini tahmin edebilir?Sürekli çaba ne kadar büyük olduğu için, süre ya da ölçebilirsinizBelirlemek için bellek tüketimi.Bu donanım, programlama dili olarak ihmal ayrıntılarıUygulama veya veri ve hesaplar yaklaşık kaç işlem başına miktarıVeri elemanı, yapılabilir olduğunu numarası ile işlem sayısı olarakveri elemanları ile bağlantılıdır.



O (1), nelerdir O (log (n)), O (n), O (n (log (n)), O (n ^ 2) ve O (n ^ 2)?Iki katına ya da yüz kat artışın etkisi nedirn out?● O = tarafindan: at n öğelerin miktarını belirtir● O (1): Sabit● O (log (n)) logDoğrusal ● O (n)● O (n (log n)): süper doğrusal● O (n ^ 2) kare● O (2 ^ n): üstel● Etki: bağlıdır kaç kitabı bir işlem ile ilgiliuygulanan, ancak kaba maliyet tahmini (100 aynı kalır oldu* N hala doğrusal, (100 * n) ² türüne bağlı olarak) vb hala kareçaba çok daha yüksek, ancak n yüksek değerler için kullanılabilirProgramın yürütülmesi sırasında ortaya çıkan giderler.


Neden maliyet tahmini sabit faktörleringöz ardı?Bu n büyüklüğüne ancak herhangi bir etkisi büyüme içinToplam maliyet. Bu ücretleri başka türlü tarafından "hakim" dir.




Olarak ekleme veya arama maliyeti nedirbağlantılı liste, ikili ağaç, hem de karma tablo içindeOrtalama ve en kötü durumda? Ne her durumda en kötü vemeydana geldiğinde bu?● Bağlantılı Listesi: Ara: O (n) / O (n) ekleyin: O (1), en kötü durumda: TümListesinde kontrol edilmelidir16● İkili ağaç arama: O (log (n)) / O (n), en kötü durum, ağaç listeye eğerdejenere; Ekle: O (log (n)) / O (n), en kötü durum, ağaç listeye eğerdejenere● karma: Arama: hemen hemen sabit / O (n) eklemek, O (1), en kötü durumda, eğerTüm karma değerler eşittir.



Bir kabarcık-sıralama nasıl sıralama ve quicksort birleştirme nedir? Neortalama ve en kötü durumda maliyeti nedir?● bubblesort: Listede yürüyüş ve iki komşu elemanları takas, eğerSıra değiştirmek için neden değil, başka nedenler O (n ²) /O (n ²)● mergesort: nurmehr tek tek öğeleri kadar parçalar dizi öğeler eklemek(düzeyine göre seviye) tekrar bir araya sırası doğru, O (n (log n)) / O (n (logn))● quicksort: sadece küçük elemanlar sol bir eksen elemanı (hisse miktarı), seçinbüyük elemanları, tüm özyinelemeli aramanın dönüş elemanı sağ olarakDoğru sırayla elemanları, O (n (log n)) / O (n ²)



Bir ikili arama nedir?Kökten başlayıp, küçük gerekli unsurudur, set arama sol düğümü devam ediyoraksi halde sağ, vb ..


Ne genel genel olmayan sınıflar farklıdır?Genel: kod belirli bir türde bağımsız tutulacakve böylece genelleştirilmiştir.İlgili tarafından genel sınıflarda genel türlerbelirtilen tür değiştirir. Her tür için, genel sınıf bir kopyasınıyarattı. Genel sınıflar sadece derleyici (?) Ise yarattı mı vargenel olmayan sınıflar derleyici tarafından kabul edilecek olduğu gibi.


Ne tür parametresi ile bir tür ayıran? Eğer CanTürleri ve tür parametreleri, aynı kullanabilir miyim?● Tür: çalışma zamanı tür parametresi olarak yerini beton türü,● Type parametresi: hayır türünde beton türüne göre değişecek



Bu tür genel olarak int öğe türleri gibi nasıl olabilir ilkel türleriKaplar kullanılmalıdır?Biz boolean karşılık gelen referans türü "tamsayı" (kullanım: "boolean";Çift: "Çift "...) (s. 276)Gereken otomatik olarak ilgili referans türüne dönüştürmeyürütülmektedir.


Ne engeller genericity bağlıdır?Ilanı ile bir tür parametresi bir engel olarak bir tür eklenir.
sadece bir alt tipi ile sınır type parametresi ile bağlı olabilirBariyer değiştirilebilir.


Özel özyinelemeli bağlı genericity amacı nedir?Bu eşit şekilde bize resmi parametrelerin türlerini kısıtlamak sağlarYöntem olduğu sınıflar.



Ne ölçüde benzer alt tip ilişkiler ve genericity vardır? Vasıtasıylaonların uygulanabilirliği farklılık?



Onlar ve neden kullanmak yineleyiciler nelerdir?Bir konteyner unsurlarının okuma sırası kolaylıkla sağlar.



Ne zorluklar yineleyiciler uygulanmasında ortayaGenellikle yineleme ile ilgili? Bunu nasıl çözerim?Her Bulunan öğeyi sonra Wander çünkü Özyineleme mümkün değildiriptal ve sonraki bir sonraki arama başlayana kadar tekrar devam edilmelidirolabilir. (S 286)Programlama dilleri, programcı için görünmez bir yığın kullanırolan da dahil olmak üzere, iç içe yöntem çağrıları değişkenleri depolamak içinözyinelemeli çağırır.



Ne tarafından özel bir dil inşa Java kullanımını desteklerYineleyiciler?iç sınıflar


Zor programın bitmiş parçaların kullanımı nedir?


Nasıl nedenleri ele alabilir?Güven ● eksikliğiBilgi ● eksikliği● Farklı Modeller● düşünce tarzı "I can do better"Güven ve bilgi eksikliği daha fazla odaklanarak önlenebilirProgram bileşenleri hakkında bilgi verir ve eğer uygunsa, parçalarda kendini test eder.



Yukarıdan aşağı stratejisinin avantajları ve dezavantajları karşı nelerdiraşağıdan yukarıya strateji? Nasıl bu iki strateji olabilirbirbiriyle birleştirmek?Yukarıdan aşağıya, bu büyük resmi tutmak daha kolay (örneğin, bir başlarana yöntem ve) alt çalışır. Bu stratejinin dezavantajAncak, bu yaklaşım iyi uygulayan genel olarak yönlendirme değil nesne olduğunuAlt Up gibi. Kombinasyonu örneğin olur yukarıdan aşağıya için bu gibi bakmakörneğin kaba yapı Sınıf hiyerarşisi kadar Bottom sonra kullanılır veTek tek sınıfları Ausprogrammierung.



Hangi görevleri ilerici arıtma sağlamaktır?büyük işler, büyük programlar


Sorunların hangi bölümü, adım adım ayrıntılandırmasıyla gerektiğinibaşlar? Bu neden böyledir?Bu çözmek için en zor olanlar ile başlamalı ve bu da engelmesi muhtemeldir.


Avantajları ve zorlukları yavaş yavaş ne ortaya çıkabilecek olanArıtma sonucu?● Avantajları: programın geçerli kalitesi hakkında iyi bir geri besleme, hangidaha da geliştirilmesi için yararlı sırayla (deneyim ile giderÜzerinde Geliştirme) gereksinimleri değişecek esneklik● Dezavantajları: Programın bir uzantısı olarak, sorunlara neden olabilirBu fark ne zaman geldiği seçilen veri yapıları veProgramın yeni bölümü için çarpanlara uygun veya yeterli değilvardır.




  

Hiç yorum yok:

Yorum Gönder