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.
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 conceptsStanford 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 conceptsStanford 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 conceptsUC 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 conceptsUniversity 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 conceptsStanford 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