![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
zlinzju
这个作者很懒,什么都没留下…
展开
-
字符串字典操作
对字典按键 / 值排序f = "k1:v1; k2:v2; k3:v3; k4:v4; ... "arr = f.split(';') # 字符串.split()得到的是列表,列表的元素是以符号分隔开的单个字符串# arr: ["k1:v1", "k2:v2", ...]dic = dict()for item in arr: # item:"k1:v1" item = list(map(int, item.split(':原创 2020-08-16 23:02:35 · 963 阅读 · 0 评论 -
[数据结构] 二叉树 - 汇总
binary search tree 不要求 balance,但我们希望它尽量 balance,否则,退化成链表形式时,search是O(n) 和线性访问没区别,而且还慢一些,因为在内存里是不连续的,跳来跳去原创 2020-08-20 17:44:59 · 125 阅读 · 0 评论 -
[python] List添加元素的4种方法
在Python中,向List添加元素,方法有如下4种:append(),extend(),insert(), 加号+【1】 append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。此元素如果是一个list,那么这个list将作为一个整体进行追加,注意append()和extend()的区别。>>> l...原创 2020-04-16 11:15:54 · 51385 阅读 · 0 评论 -
[数据结构] 二叉树的遍历
堆,属于完全二叉树,一般用列表存储。但对于不完全二叉树,用列表存储会有大量空位产生,可用链表。二叉树的链式存储:将二叉树的节点定义为一个对象,节点之间通过类似链表的链接方式来连接。考察方式:给你一棵树,写出前序中序后序的序列或者遍历代码。或者给出前序中序后序的序列其中之二,让你画出一棵树。(一般给出中序,再给出一个前序或者后序。很少给前序和后序,因为极容易出现不唯一的情况)规律:· 前序...原创 2020-04-07 17:58:37 · 277 阅读 · 0 评论 -
[数据结构] 链表实现LRU缓存淘汰算法
文章目录指针数组的顺序存储:存在内存分配问题指针:解决内存分配问题链表缓存淘汰策略链表实现LRU原理指针数组的顺序存储:存在内存分配问题数组在内存中采用连续的顺序存储方式,比如定义一个int型数组,打印地址int array[10] //在栈上分配一个有10个int元素的数组printf("array的地址:%pn", &array);for(int i = 0; i <...原创 2020-04-05 13:19:24 · 267 阅读 · 0 评论 -
[数据结构] 单向链表总结
文章目录链表解题策略链表的基本操作反转链表删除某个节点虚拟头节点快慢指针题解链表链表(linked list)是一种常见的线性数据结构。对于单向链表(singly linked list),每个节点有一个next指针指向后一个节点,还有一个成员变量用以存储数值;对于双向链表(doubly Linked List),还有一个prev指针指向前一个节点。与数组类似,搜索链表需要O(n)的时间...原创 2020-04-04 12:47:35 · 589 阅读 · 1 评论 -
[算法] 合并查找(Union Find)
文章目录Union Find算法基础算法优化算法性能Python代码Union Find算法基础Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作:Find: 确定元素属于哪一个子集,判断两个元素是否属于同一子集(即,查找元素的root,当两元素root相同时判定他们属于同一个子集)Union: 将两个子集合并为一个子集(即通过修改元素的root或pare...原创 2020-04-04 12:55:44 · 2446 阅读 · 0 评论 -
数据结构与数据类型
文章目录数据结构什么是结构什么是数据结构逻辑结构物理结构数据类型参考数据结构什么是结构结构是指在一个系统或者材料之中,互相关联的元素的排列、组织。结构按类别可分为等级结构(有层次的一对多)、网格结构(多对多)、晶格结构(临近的个体互相连接)等。什么是数据结构相互之间存在一种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构。定义了计算机存储、组织数据的方式。逻辑结构逻辑结构是指...原创 2020-02-15 15:29:52 · 4463 阅读 · 0 评论 -
[python] 列表与数组
小结:Python最基本的数据结构是序列,对应有Python内置数据类型 列表和元组。Python原生没有数组的概念,这一点不同于Java之类的面向对象语言。Python中原生的列表虽然使用方法与数组类似,但它们之间有本质区别。Python的列表不需要指定列表长度、数据类型。可以进行索引,切片,更新,删除,切片等操作。Python可以通过 import array 或者import n...原创 2020-02-15 15:21:34 · 9227 阅读 · 2 评论 -
[Python] 字典及底层哈希
文章目录1.哈希表2.Python字典如何运用哈希表3.哈希冲突4.哈希表的高效查找5.Python的字典操作创建字典初始化字典获取键值访问/更新/添加字典删除其他操作参考链接Python中的字典是以个键值映射的数据结构。Python的dict采用了哈希表实现,最快能在O(1)时间内完成搜索。java的HashMap也是采用了哈希表实现。不同之处是,dict在发生哈希冲突的时候采用了开放寻...原创 2020-02-10 22:03:05 · 2588 阅读 · 0 评论