آرین سليمان زاده
  • الرئيسية
  • المدونة
  • البودكاست
  • الفيديوهات
  • المكتبة
  • تواصل
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
اللوحة•تواصل سريع

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

احجز موعداً

أرسل رسالة قصيرة — سأرد في أقرب وقت ممكن.

LinkedInاستجابة سريعة
← مكتبة الخوارزميات/Data Structures/Heap
ملاحظة قراءة الخوارزمية

Heap

A heap is a complete tree, usually stored in an array, where every parent obeys a priority relation with its children. In a min-heap the smallest value stays at the root; in a max-heap the largest does.

النوعبنية بياناتالفئةData Structuresالعمقمبتدئالتعقيد المعتادpeek O(1), insert/remove O(log n)
إجابة مقابلة قصيرة

ابدأ بهذا النموذج الذهني

A heap is a complete tree, usually stored in an array, where every parent obeys a priority relation with its children. In a min-heap the smallest value stays at the root; in a max-heap the largest does.

01
شرح مبسط

كيف يعمل، بلا مصطلحات زائدة

01

A heap is not fully sorted. It only guarantees the parent/child heap property.

02

Insert and remove-root repair the heap by bubbling a value up or down.

02
التنفيذ

اقرأ الخوارزمية كسلسلة من القرارات

01

Append new value.

02

Bubble it upward while it violates the heap property.

03

For root removal, move the last value to root and bubble it down.

مثال صغير لتحتفظ به في ذهنك

A min-heap used by Dijkstra always exposes the currently cheapest frontier node.

تطبيق JavaScript قابل للقراءةJavaScript
class MinHeap {
  data = [];
  push(value) {
    this.data.push(value);
    let i = this.data.length - 1;
    while (i > 0) {
      const p = Math.floor((i - 1) / 2);
      if (this.data[p] <= this.data[i]) break;
      [this.data[p], this.data[i]] = [this.data[i], this.data[p]];
      i = p;
    }
  }
}
كيف تقرأ هذا الكود

لا تحفظ الصياغة. تتبع الحالة التي تتغير في كل سطر واربطها بالثابت الموضح أعلاه.

التعقيد

peek O(1), insert/remove O(log n)

Do not quote this complexity mechanically. Ask which operation or input dimension it describes, then derive the cost from the loops, recursion depth, data-structure operations and any preprocessing assumptions.

03
متى تستخدمه

مناسب لـ

  • Choose it when its dominant operations match your workload.
  • Compare memory overhead as well as Big-O.
04
أخطاء شائعة

ما الذي يسوء عادةً

  • Memorizing complexity without understanding representation.
  • Ignoring worst-case shape or resizing/rebalancing costs.
كيف تشرحه في المقابلة

صيغة إجابة احترافية

Do not say a heap is a sorted tree. Emphasize O(1) access to the best-priority item and O(log n) insertion/removal.

المشكلة→الفكرة الأساسية→الثابت / الحالة→Big-O→المفاضلة
فحص سريع للمقابلة

What problem does Heap solve?

A heap is a complete tree, usually stored in an array, where every parent obeys a priority relation with its children. In a min-heap the smallest value stays at the root; in a max-heap the largest does.

ماذا يجب أن أذكر عن التعقيد؟

Its typical cost here is peek O(1), insert/remove O(log n), but a complete answer should connect that cost to the representation, input constraints and the dominant operations.

ما الخطأ الأكثر شيوعاً؟

Memorizing complexity without understanding representation.

متابعة القراءةPriority QueueHeap SortDijkstra
المصدر وقراءات إضافية

كُتب هذا الدرس بشكل مستقل للدراسة الهادئة والاستعداد للمقابلات، بالاعتماد على فهرس موضوعات trekhleb/javascript-algorithms. يحتوي المستودع الأصلي على التطبيقات والاختبارات ومراجع README الخاصة بكل موضوع.

فتح المستودع الأصلي ↗
آرین سليمان زاده

معرض أعمال شخصي يركز على هندسة الويب الحديثة، وأنظمة الواجهات، ومنتجات الذكاء الاصطناعي العملية — كود نظيف، وتصميم نقي.

روابط سريعة

  • نبذة
  • المدونة
  • المكتبة
  • تواصل

تواصل

  • soleimanzadeh.a.work@gmail.com
  • soleimanzadeh.uni@gmail.com

التوفر: أيام الأسبوع

عادةً يتم الرد خلال 24 ساعة.

النشرة البريدية

احصل على تحديثات حول المقالات، والمشاريع، والإصدارات الجديدة.

© 2026 ariansoleimanzadeh.dev — جميع الحقوق محفوظة.

لينكدإن