摘要: 栈 Stack: 概念: 栈(Stack)是一种线性表数据结构 遵循后进先出(LIFO,Last In First Out)原则,只能在栈顶进行添加和删除操作 操作: push (入栈) pop (出栈) peek (仅查看) 栈的应用: 函数调用栈 表达式求值 回溯算法 图解: 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(27) 评论(0) 推荐(0)
摘要: 列表 List 概念: 列表 List 是一种抽象的数据结构概念 表示元素的有序集合 无须使用者考虑容量限制的问题 如何实现列表: 链表本身就是列表 动态数组实现列表,需要实现动态扩容 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(9) 评论(0) 推荐(0)
摘要: 队列 Queue: 概念: 队列 Queue 是一种线性表数据结构 遵循先进先出(FIFO,First In First Out)原则,在队列的尾部添加元素,在头部移除元素 操作: enqueue(入队) dequeue(出队) front (仅查看) 应用: 任务调度 广度优先搜索算法 图解: 双 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(7) 评论(0) 推荐(0)
摘要: 链表 Linked List: 概念: 数组(Array)是一种线性表数据结构 用非连续的内存空间,来存储具有相同类型的数据的数据结构 每个节点包含数据部分和指针,指针指向下一个(或上一个,对于双向链表)节点 特点: 动态大小:链表的大小可以在运行时改变 不连续的内存:节点可以在内存中分散存储,通过 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(12) 评论(0) 推荐(0)
摘要: 数组 Array: 概念: 数组(Array)是一种线性表数据结构 用一组连续的内存空间,来存储一组具有相同类型的数据 数组中的元素可以通过索引直接访问 特点: 随机访问:可以快速地通过索引访问任何元素 固定大小:一旦声明,数组的大小就固定了 空间效率:因为申明时需要预留空间,在空间上可能不是最优的 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(13) 评论(0) 推荐(0)
摘要: 线性表 特点: 由N个具有相同特性的数据元素组成的有限序列 线性表中的数据元素之间呈现一对一的关系,除了第一个和最后一个数据元素之外,其他数据元素都是首尾相接的 线性表上的数据最多只有前和后两个方向 举例: 数组 链表 栈 队列 个人理解 线性、非线性的区别 数学坐标系: 线性表元素之间相互连接,类 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(10) 评论(0) 推荐(0)
摘要: 5.位图 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(7) 评论(0) 推荐(0)
摘要: 4.动态扩容 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(6) 评论(0) 推荐(0)
摘要: 散列表/哈希表 特点: 通过建立键 key 与值 value 之间的映射,实现O(1)时间复杂度的高效的元素查询 举例: 树 图 图解: 常用操作: 初始化 查询操作 添加键值对 删除键值对 哈希函数(hash function): 作用:作用是将一个较大的输入空间映射到一个较小的输出空间 索引位置 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(12) 评论(0) 推荐(0)
摘要: 3.冲突处理 阅读全文
posted @ 2024-10-27 23:53 navyum 阅读(9) 评论(0) 推荐(0)
//自己上传到博客园的js