Hands-On Data Structures

所在平台: Udemy

课程主页: https://www.udemy.com/course/smtdatastruct/

课程评论:没有评论

第一个写评论        关注课程

课程简介

本课程“Hands-On Data Structures”旨在全面介绍数据结构及其在各种应用中的实际应用。课程将深入探讨各种类型的数据结构,包括链表(单向、双向、循环)、栈、队列、树(二叉树、二叉搜索树、AVL树、线索二叉树)、图以及哈希表。 **核心内容包括:** * **链表(Linked Lists):** 详细讲解链表的概念、创建、插入、删除、反转、排序等操作,以及双向链表和循环链表的具体实现。 * **栈(Stacks):** 涵盖基于数组和链表的栈实现,以及表达式求值(前缀、后缀)等应用。 * **队列(Queues):** 介绍基于数组和链表的队列实现,以及优先级队列。 * **递归(Recursion):** 阐述递归的原理、类型,并通过递归实现链表操作。 * **树(Trees):** 深入学习二叉树、二叉搜索树(BST)的插入、查找、删除及遍历(中序、前序、后序),线索二叉树的概念和实现,以及AVL树的平衡机制和旋转操作。 * **图(Graphs):** 学习图的类型、表示方法(邻接矩阵、邻接表),以及常用的图遍历算法(BFS、DFS)、最短路径算法(Dijkstra)和最小生成树算法(Prim、Kruskal)。 * **哈希(Hashing):** 讲解哈希函数、冲突解决方法(开放地址法、拉链法),以及散列表的应用。 * **字典序(Lexicographic Order):** 介绍字典序的概念以及如何寻找前一个和后一个排列。 课程以大量的**实践编码视频**为特色,教授如何从头开始实现这些数据结构,并展示它们在实际问题中的应用。通过大量的编码练习,学生将能够牢固掌握数据结构的设计和实现,从而提高算法的效率和程序的性能。

课程评论(0条)

课程详情

A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. Different types of data structures are suited to different kinds of applications, and some are highly specialized to specific task. Data structures provide a means to manage large amounts of data efficiently. Efficient data structures are key to designing efficient algorithms. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory.Data structures serve as the basis for ADT. The ADT (Abstract Data Types) defines the logical form of the data type. Data structures are based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer. The array and record data structures are based on computing the addresses of data items with arithmetic operations. The linked data structures are based on storing addresses of data items within the structure itself. The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. A linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence. Each node contains: data, and a link to the next node in the sequence. This structure allows for efficient insertion or removal of elements from any position in the sequence during iteration.Following topics are covered as part of hands-on / Live coding videos:Linked Lists (LL) Implementation / Coding:Concept of linkCreating a Linked List (LL)Appending a node to LLDisplay of LLLength of LL (count)Reversing of LLSorting Adding node at Start of LLInserting node in between of LLDeleting a nodeCreating a Double LLAppending a node to Double LLDisplay of Double LLLength of Double LL (count)Reversing of Double LLInserting a node in between a Double LLRotate Double LLCount Pairs with criteria for a Double LLQuestions Circular LL overview (access pointers)Creating a Circular LLAdding node at Start Circular LL (approach 1)Traversal / Display Circular LL (approach 1)Inserting node in between a Circular LL (approach 1)Deleting a node Adding node at End Circular LL (approach 2)Traversal / Display Circular LL (approach 2)Circular LL - Queue (Adding Node)Circular LL - Queue (Removing Node)QuestionsStacks (Implementation / Coding):Stack overviewStack with ArrayExpressionsEvaluation of Postfix expression Infix to Post fixEvaluation of Prefix overview. infix to prefix overviewApplication: Finding next big elementStack using Linked ListReversing Stack with Linked ListQuestionsQueues (Implementation / Coding):Queue OverviewQueue using ArrayPriority Queue with ArrayQueue using Linked ListPriority Queue using Double Linked ListQuestionsRecursionRecursion Overview, Phases, TypesRecursive FunctionsLinked List operations using RecursionQuestionsTreesBinary TreesTree TraversalsInorderpreorderpostorderBinary Search Trees (BST)BST - InsertionBST - Insertion & TraversalsTraversals ExplainedBST - SearchSearch operationsBST DeletionDeletion casesBinary Tree to BST conversionIdentify a Tree to be BSTIdentify zero, one child nodes of BSTQuestionsSortingSelection SortSelection Sort AnalysisBubble SortBubble Sort AnalysisInsertion SortInsertion Sort AnalysisQuick SortQuick Sort AnalysisQuick Sort, Merge Sort DiscussionQuestionsThreaded Binary TreesNeed for Threaded Binary Tree (TBT) Threaded Binary Tree OverviewOne way Structure, TraversalTwo way Structure, TraversalInsert functionality Traversal functionalityDelete functionalityAVL TreesNeed for AVL TreesAVL Tree OverviewTree Rotations (Left, Right)Insert cases, Application of Insert casesInsert Functionality code, DemoFunctions Code - LeftRight rotations, RightLeft rotations, Delete Functionality, Rotations needed for DeleteGraphsGraphsGraph TypesAdjacency Matrix, Adjacency ListTraversalsBFS (Breadth First Search)BFS AlgorithmDFS (Depth First Search)DFS AlgorithmSpanning treeDijkstra Shortest path AlgorithmMinimum Spanning treePrim's algorithmKruskal algorithmHashing, Collision ResolutionHashingHash FunctionsCollision ResolutionOpen Addressing (Closed Hashing)ProbingLinear, Quadratic, Double hashingLoad factor of Hash TableDeletionSeparate Chaining (Open Hashing)Cuckoo HashingLexicographic Order (Lexical Order)OverviewPrevious PermutationNext Permutation

课程标签

0人关注该课程

主题相关的课程