Philocode – Telegram
این یکی نوبره. 😂
😁2
Philocode
#books
آبجکت باید مجموعه‌ای معنادار از داده‌ها و کدی باشد که کارهایی را روی آن داده‌ها انجام می‌دهد؛ نه کیسه‌ای برای ذخیره‌کردن چیزهای باقی‌مانده (و متفرقه)!
🔥3
Philocode
#books
با توابع بازگشتی چقدر آشنا هستید؟

تابع بازگشتی، تابعیه که خودش رو صدا می‌زنه. به احتمال کم (اگه دانشگاه نرفته باشید و تا حالا دربارۀ الگوریتم چیزی نخوندید) براتون مسخره میاد، چرا باید یه فانکشن، خودش رو صدا بزنه؟!

نویسندۀ کتاب Think like a programmer می‌گه که این نوع برنامه‌نویسی کلاً فرق داره؛ وقتی با یه loop سر و کله می‌زنید، می‌دونید که با یه دنباله طرفید ولی وقتی با recursion طرف باشید، برای ذهنتون سخته که مسئله رو اینطوری ببینه که یه فانکشن از طریق صدازدن خودش حلش کنه.

ساده‌ترین مثال (مثالِ کتاب)، factorial ـــه:
function factorial (number) {
if (number === 1) {
return 1
}

return number * 👉factorial(number - 1)
}

console.log(factorial(7)) // 5040

همین برنامه رو اگه بدون recursion می‌نوشتیم، این شکلی می‌شد:
function factorial (number) {
let result = 1

for (let i = number; i > 1; i--) {
result *= i
}

return result
}

اگه بتونم این فصل رو به خوبی قورت بدم، احتمالا یه مقاله توی dev.to داشته باشیم. ^_^
🔥6
ما از فردا کتاب Grokking Algorithms رو می‌خونیم.
دلتون بسوزه.

(پوزخند مشهور مخصوص خود را اجرا می‌کند)
😁7😢1
🔥3
Philocode
Photo
نویسنده، بحثش رو با simple search و binary search شروع کرده.
1 2 3 4 5 6 7 8 9 10 11 12
توی دنبالۀ بالا، simple search از 1 شروع می‌کنه و یکی یکی جلو میاد تا عدد 11 رو پیدا کنه. اما با binary search از 1 شروع نمی‌کنیم و همیشه از وسط می‌پرسیم؛ اگه وسط این دنباله از 11 کوچیک‌‎تر باشه، نصف اول دنباله حذف می‌شه و در غیر این صورت نصف دوم دنباله رو حذف می‌کنیم!

یعنی اگه یه دنبالۀ 240,000تایی داشته باشیم و دنبال موردی بگردیم که آخر دنباله‌ست، با simple search (که نویسنده بهش میگه stupid search) در واقع 240,000 مرحله طول می‌کشه که پیداش کنیم ولی با binary search تنها 18 مرحله نیازه!
#GA
👍5
It might surprise you to know that arrays in Lua start at 1 instead of 0!
😱3
Client vs Customer: A client is the one who wants professional support/service from the company. Whereas, a customer refers to a person who purchases products or services from the company.
#english
👍3
Philocode
Running time #GA
Linked lists are good for inserts/deletes, and arrays are good for random access.
#GA