Kendinize meydan okuma zorlukları için hazırlık [kapalı]


15

Birkaç gün önce Codility'yi keşfettim ve zorluklarını denedim. Ve söylemeliyim. Arkamı bana bir tabakta teslim ettim. Sorunun ne olduğundan emin değilim, ama yaralarımı yalayacağım ve çözümün çıkmasını ve kendimle karşılaştırmasını bekleyeceğim. Bu arada, bir sonraki mücadeleye hazırlanmak istiyorum, bu yüzden önceki blog yayınlarını okuyorum ve önceki sorunlarını nasıl çözeceğimizi görüyorum. Duymadığım birçok yeni şey var (Kartezyen ağaçlar, çeşitli sıralama algoritmaları, vb.)

Peki, bu tür zorluklara (özellikle O (x) zaman ve mekan karmaşıklığı) nasıl hazırlanır. Böyle bir göreve hazırlanmak için ne okumalıyım?


Son zamanlarda , özellikle çözümleri düşünmede daha çevik hale gelmeye yardımcı olmak için beynimi bükülmeye zorlamak için (bunu zorlayacaktır) haskell üzerinde çalışıyorum. Bununla birlikte, aynı amaç için Algoritma Tasarım El Kitabını (ücretsiz çevrimiçi pdf var) ve Knuth'un Bilgisayar Programlama Vol 1 Temel Algoritmaları'nın (aynı zamanda ciddi bir beyin ağrısı kaynağıdır) bir garaj satışı kopyasını da okuyorum. .
Jimmy Hoffa

Yanıtlar:


3

kişi bu tür zorluklara nasıl hazırlanır (özellikle O (x) zaman ve mekan karmaşıklığı). Böyle bir göreve hazırlanmak için ne okumalıyım?

By hazırlanıyor tabii! Bu bir uygulama meselesidir ve kısa hissettiğiniz alanlar hakkında hızlanmaktır. Tanrıya şükür, bilgi eksiklikleri internette olduğunda ve Google arkadaşınız olduğunda, oldukça iyi kaynaklar.

Referanslar ile ilgili olarak, programcılarla ilgili soruları olan birkaç web sited'i tavsiye ederim. Bu soru türlerinden eksiklerinizi belirleyebilir ve onlar için çalışabilirsiniz.

Bakılacak kaynaklar:


7

Kendinizi bu tür testlere hazırlamak için yapabileceğiniz tek şey pratiktir. Çok çalışın . Kodlayıcı yardımı için topcoder, codegolf, geeks için geeks, Programlama Praksileri, CodeKata, Project Euler vb.Gibi birçok iyi kaynak vardır.

Veri yapılarıyla ilgili sorun yaşıyorsanız, algoritmanızı ve veri yapısı kavramlarınızı fırçalamanız daha iyi olacaktır. Bunun için en iyi yer wikipedia, ancak aynı zamanda nptel, coursera, vb.


Daha çok kitap gibi kaynaklar arıyordum, ancak bağlantılarınızdan bazıları yeni ve bilgilendirici oldu.
Daniel Fath

1
@DanielFath: Bu konuda okumak yardımcı olur, ancak problem çözme, iyi olmak istiyorsanız pratik yapılması gereken bir sanattır. Yazılım yazma dünyasında, tekrar tekrar göreceğiniz şaşırtıcı derecede çok sayıda sorun var. Onları daha önce çözme deneyimi size yeni varyasyonları tespit etme ve hızlı bir şekilde iyi bir çözüm uygulama yeteneği verir.
Blrfl

Uygulamaya çok katılıyorum, sadece daha somut kaynaklara olan arzuyu , sorunun çözüldüğünü düşünmek için ifade ediyorum . Cevapları iptal ettim (heck hepsini iptal ettim).
Daniel Fath

4

Google'ın işe alımıyla ilgili yarı resmi blog yayınları şu kitabı öneriyor: Algoritma Tasarım Kılavuzu .

Genel algoritmalara ve veri yapılarına yeterince aşina olduğunuzda, durumunuzda çok yardımcı olabilecek 'hızlı başvuru' kısmı ile çok kapsamlı ve iyi yazılmış.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.