数据结构与算法
kestiny
这个作者很懒,什么都没留下…
展开
-
03-哈希表
哈希表什么是哈希表 哈希表(Hash table,也叫散列表),是根据关键码值(Key)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。什么是哈希冲突(collision) 在创建哈希表的过程中,若给定两个不原创 2020-07-14 21:50:27 · 185 阅读 · 0 评论 -
数据结构与算法学习-02栈与队列
栈与队列 栈与队列,在数据结构中也属于线性表。栈(Stack)栈的实现逻辑 栈是一种特殊的表,其特殊在于插入与删除操作只能在末端(也就是栈顶)进行,因此栈是**后进先出(LIFO)**的线性表。栈的操作也就包含了出栈(Pop),入栈(Push)和获取栈顶元素(Top)。栈的实现方式有两种,一种是数组形式的栈(如下图),另外一种是链表形式的栈。栈的时间复杂度操作时间复杂度访问O(n)搜索O(n)插入O(1)删除O(1)队列(Queue)原创 2020-07-03 22:08:25 · 170 阅读 · 0 评论 -
数据结构与算法学习-01数组与链表
数组与链表 数组与链表,在数据结构中都属于线性表。所谓线性表,是指所有元素都排列在一个维度上;对其中的任意一个元素来说,除了头和尾,都有且只有一个前驱元素和一个后继元素。数组数组的实现逻辑储存:数组储存在连续的内存中。访问:因为数组存储的内存连续,因此支持随机访问。所谓随机访问,也就是直接下标操作。增加:因为数组内存的连续性,因此若要增加元素,为保持数组的线性,必须把此元素之后的所有元素依次后移。删除:删除同理增加元素,必须把元素依次前移,以保证数组的线性和完整性。数组的时间复杂度原创 2020-07-03 22:04:03 · 528 阅读 · 0 评论