![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 69
liyuanchao_blog
这个作者很懒,什么都没留下…
展开
-
快速对二叉树和前中后序遍历的相互转化
首先回忆一下前中后序遍历的概念前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。已知二叉树的结构,快速推算前中后序遍历二叉树如图中序遍历根据中序遍历定义第一步:2(左)4(根)6(右)第二步:遍历第一步中的非根节点,还是按照中序遍历原创 2021-07-25 20:13:11 · 8607 阅读 · 11 评论 -
单链表部分实现
熟悉c语言以及数据结构的朋友们都知道,链表简单的说就是由很多个节点连接而成(有点像火车一样),每个节点分为指针域(next)和数据域(data),一个节点的指针域指向下一个节点(指针域用来存放下一个节点的地址)以下代码均由python3实现1.利用类实现一个简单的链表class SingleLinkedList(object): def __init__(self): ...原创 2019-12-08 00:26:08 · 11183 阅读 · 0 评论 -
No.7.堆排序之python实现
一、什么是堆用一幅图来表示它的演变过程吧如下图所示即为堆原创 2019-11-16 21:48:10 · 11161 阅读 · 0 评论 -
No.6Sunday算法的扩展以及python实现
什么是Sunday算法Sunday算法是是 Daniel M.Sunday 于 1990 年提出的一个字符串匹配算法,是由BM算法演变而来,有兴趣的盆友可以了解一下BM算法,但是不了解也不影响我们今天对Sunday算法的学习说到字符串匹配算法,老规矩我们必须分清楚主串和模式串的概念,比如要在a=‘abbcf’,b=‘sjldfsdabbcfdsfs’,要在b中找a的,则a为模式串,b为主串...原创 2019-10-28 23:32:07 · 11407 阅读 · 0 评论 -
No.5终于搞懂了kmp算法(精髓为next数组的求解过程,此文next数组未经过优化)
kmp算法原创 2019-10-26 21:55:08 · 11290 阅读 · 0 评论 -
No.4有向无环图的拓扑排序
1.什么是有向无环图(简称DAG)呢?举个浅显易懂的有向无环图拓扑排序的例子(Linux驱动匹配):比如现在有abcde五个驱动模块文件,它们的具体的依赖顺序未知但是给出了单个驱动模块文件会依赖其它的驱动依赖模块1> a->bce,表示a的正常工作会依赖bce这三个驱动模块,但是bce之间的依 赖顺序又是未知的2> b->d,b依赖d3> c-&...原创 2019-10-20 10:02:30 · 11422 阅读 · 0 评论 -
No.3python排序,1.负数在前,整数在后;2.在满足1的条件下要保证偶数在前,奇数在后。
今天面试看到一道算法题(手写),咋一看很简单,思路也立马闪现到脑海中,但是面试完了后,offer也拿到了(最后没去这家公司,种种原因),但总感觉哪个解法绝对不是最优的题目意思大概是这样的,有这样一个序列st = [-22, -3, -5, 11, 12, -4, 13, 24, -9],对它进行排序,要求1.负数在前,整数在后;2.在满足1的条件下要保证偶数在前,奇数在后。第一眼看到这个题目,...原创 2019-07-11 23:09:25 · 11544 阅读 · 0 评论 -
No.1最大的多位数
排序原创 2019-02-16 20:54:11 · 11070 阅读 · 0 评论 -
No.2判断扑克牌是不是顺子
从一副扑克中随机抽出5张牌,2-10代表相应数字,A代表1,J Q K代表11,12,13,大小王代表任何数字,写一个函数判断这5张牌是否是顺子exits = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K', 'S', 'P'],S、P代表大王小王ipt = '23Q45'ipt1 = '31S45'ipt2 = '1...原创 2019-06-28 18:07:21 · 11428 阅读 · 0 评论