数据结构
文章平均质量分 95
数据结构
码农 _
这个作者很懒,什么都没留下…
展开
-
数据结构:学哈希散列表?看这个就够了
哈希表的历史哈希散列的想法在不同的地方独立出现。1953 年 1 月,汉斯·彼得·卢恩 ( Hans Peter Luhn ) 编写了一份IBM内部备忘录,其中使用了散列和链接。开放寻址后来由 AD Linh 在 Luhn 的论文上提出。大约在同一时间,IBM Research的Gene Amdahl、Elaine M. McGraw、Nathaniel Rochester和Arthur Samuel为IBM 701汇编器实现了散列。原创 2024-08-09 11:18:27 · 973 阅读 · 0 评论 -
数据结构(队列)
什么是队列?在计算机科学中,队列(queue)是一种特殊类型的抽象数据类型或集合(可以用链表实现,也可以用数组实现)。集合中的实体对象按顺序保存,可以通过在序列的一端添加实体和从序列的另一端移除实体来进行修改。将元素添加到队列后的操作称为入队,从队列中移除元素的操作称为出队。也允许其他的一些操作,包括 peek、element等。另外队列还分为单端队列(queue)和双端队列(deque),这在本章节要实现的优先队列中会有所体现。队列的数据结构更像是数组和链表的变种,只要能看懂数组和链表,就能看懂队列。原创 2024-08-08 15:36:52 · 849 阅读 · 0 评论 -
数据结构(数组)
数组是数据结构还是数据类型?数组只是个名称,它可以描述一组操作,也可以命名这组操作。数组的数据操作,是通过 idx->val 的方式来处理。它不是具体要求内存上要存储着连续的数据才叫数组,而是说,通过连续的索引 idx,也可以线性访问相邻的数据。那么当你定义了数据的存储方式,也就定义了数据结构。所以它也是被归类为数据结构。原创 2024-08-08 10:54:52 · 1031 阅读 · 0 评论 -
数据结构学习(链表)
链表的新增和删除的时间复杂度是O(1)的,所以在大量的这些操作中使用链表是最好的选择比如当我需要过滤规则的时候使用链表比较合适,设计模式也有提到比如责任链。原创 2024-08-08 10:06:33 · 773 阅读 · 0 评论 -
数据结构(堆栈 堆)
堆栈的历史堆栈于 1946 年进入计算机科学文献,当时当时 Alan M. Turing 使用术语“bury”和“unbury”作为调用子程序和从子程序返回的一种方式。1945 年, Konrad Zuse 的 Z4 中已经实现了子程序。慕尼黑工业大学的 Klaus Samelson 和 Friedrich L. Bauer 在 1955 年提出了堆栈的想法,并于 1957 年申请了专利。1988 年 3 月,其中在萨梅尔森去世时,鲍尔因发明堆栈原理而获得了 IEEE 计算机先锋奖。原创 2024-08-09 10:51:11 · 901 阅读 · 0 评论