Heap (data structure)

Heap (data structure)

A heap is a tree-based data structure that satisfies the heap property, where the key of a parent node is greater than or equal to the key of its child nodes in a max heap, and less than or equal to in a min heap. It is commonly used as an efficient implementation of a priority queue, where the highest or lowest priority element is always stored at the root. The binary heap is a popular implementation of a heap, and it has applications in sorting algorithms and graph algorithms like Dijkstra's algorithm.

6 courses cover this concept

CSE 373 Data Structures and Algorithms

University of Washington

Summer 2022

This course focuses on common data structures and algorithms. It integrates theoretical understanding with practical exercises, preparing students for software-related roles and industry technical interviews. Programming projects, unit testing, and source control techniques are emphasized.

No concepts data

+ 27 more concepts

CS 107A: Problem-solving Lab for CS 107

Stanford University

Autumn 2022

This supplementary section provides extra support for CS 107 students. It offers an opportunity to review and practice course material in a small group setting, boosting understanding of CS 107 content. It uses a Satisfactory/No Credit grading scheme and is based on effort and participation.

No concepts data

+ 13 more concepts

CS 106B Programming Abstractions

Stanford University

Winter 2023

This course helps transition from coding to problem-solving using computers. The course explores techniques, tools, and models for problem-solving across disciplines using C++. Prior programming experience is assumed.

No concepts data

+ 33 more concepts

CS 61B: Data Structures

UC Berkeley

Fall 2022

CS 61B focuses on software efficiency from design and runtime perspectives. It covers object-oriented programming with Java, teaching data structures and various programming concepts. The course promotes hands-on learning with optional assignments.

No concepts data

+ 55 more concepts

CSE 333 Systems Programming

University of Washington

Summer 2022

This course provides an understanding of systems in computing, focusing on operating systems, networking, and C/C++ languages. Students learn about low-level data representation, memory management, system interactions, and efficient programming workflows. It delves into C++ idioms, network protocols, and concurrency. Prior knowledge of C programming and Linux tools is required.

No concepts data

+ 36 more concepts

CS 107 Computer Organization & Systems

Stanford University

Autumn 2022

This Stanford University course delves into the depths of computer systems and programming. It continues from the introductory sequence, expanding students' programming experience using the C language, exploring machine-level code, computer arithmetic, memory management, and more.

No concepts data

+ 25 more concepts