01、数据结构与算法 - 基础:概述
1、简介 数据结构:研究数据的逻辑结构和物理结构,以及它们之间的关系,并对这种结构定义相应的运算。 数据(Data):客观事物的符号表示,在计算机科学中指所有能输入到计算机中并被计算机程序处理的符号的总称 数据元素(Data Element...
1、简介 数据结构:研究数据的逻辑结构和物理结构,以及它们之间的关系,并对这种结构定义相应的运算。 数据(Data):客观事物的符号表示,在计算机科学中指所有能输入到计算机中并被计算机程序处理的符号的总称 数据元素(Data Element...
摘要 二叉树的遍历可以用递归的方式简单实现,但是递归也有其局限性,所以非递归实现是否可行?下面的文章就会告诉答案。递归的局限性是什么?文章中也会给出作者的理解。 二叉树的遍历可以用递归的方式简单实现,但是递归也有其局限性,所以非递归实现是否...
公众号:“皇子谈技术”主理人
摘要 Trie 被称为前缀树,结构类似树,一个节点有多个子节点,那么在搜索路径中就有多条路,也是高效检索的本质。Trie 的检索和字典查找单词的场景非常相似。 Trie 被称为前缀树,结构类似树,一个节点有多个子节点,那么在搜索路径中就有多...
摘要 队列的数据结构保证先进先出特性,优先级队列打破先进先出特性,制定优先级高的先出队规则。依然使用数组的数据结构,并且也要优化遍历和插入操作,就需要满足这两个添加的大顶堆来支持。所以优先级队列基于大顶堆实现是最优的选择。 队列的数据结构保...
摘要 堆可以分为大顶堆和小顶堆,是根据节点与子节点的比较来界定。文章中可以使用数组来存放元素,并处理节点与子节点的比较和交换,就是利用了二叉树的基础性质,看完文章相当于再次温习了二叉树的基础性质。 堆可以分为大顶堆和小顶堆,是根据节点与子节...
摘要 哈希表整体结构就是一个数组,元素的结构是 key-value 形式,因为 key 可以是任意可能类型,那么就需要一个标准性的生成唯一索引方式,所以就引出哈希值这个名称。本文在介绍哈希表时,也着重的说明哈希值,了解哈希值的背景以及生成逻...
摘要 映射的数据结构可以用链表、AVL 树或者红黑树中的任何一种来实现,对外实现对映射序列中元素的增、删、改和查等操作。所以通晓链表、AVL 树或者红黑树的底层实现逻辑之后,在顶层实现其他的数据存储序列都能很快的切入和掌握。 映射的数据结构...
摘要 集合最重要的特点就是它里面的元素是不会存在重复的,所以集合的内部实现中,添加元素函数是需要先判断是否已经存在这个元素,是代码实现的核心部分。 集合最重要的特点就是它里面的元素是不会存在重复的,所以集合的内部实现中,添加元素函数是需要先...
摘要 红黑树删除节点,和 B 树删除节点的情况非常的接近。理解红黑树删除节点之后的恢复操作前,再过一下 B 树的删除逻辑,这样会更好的理解红黑树的删除逻辑。各种处理操作就不会离开一个主要思想,就是红黑树的 5 条性质。 红黑树删除节点,和 ...
摘要 红黑树添加元素后,需要根据红黑树的 5 条性质判断是否满足,如果不满足就需要做相应的处理使其依然满足红黑树。分析逻辑和实现代码上面有一些比较巧妙的处理点,很值得学习。 红黑树添加元素后,需要根据红黑树的 5 条性质判断是否满足,如果不...