随笔分类 - 数据结构算法
摘要:二叉树的前序遍历、中序遍历、后序遍历 什么是时间复杂度和空间复杂度 知道淘汰策略的哪些算法? lru算法如果让你实现你会选择哪种数据结构 知道动态规划和贪心算法吗
阅读全文
摘要:基数排序的方式可以采用LSD,由键值的最右边开始,适用于数值整数。或者MSD,由键值的最左边开始,适用于字符串整数。在LSD基数排序中每一次的处理都是将关键字按顺序放置在其各自的称为桶的数据结构中,而不必与其它关键字进行比较。 问题的解决思路: 基数排序是一种非比较型整数排序算法,它的原理是将整数按
阅读全文
摘要:在快速排序中引入递归和分治的概念(关于递归和分治的概念会单独写一篇来进行介绍) 问的解决思路: 快速排序的基本思想本身就是分治法,通过分割,将无序序列分成两部分,其中前一部分的元素值都要小于后一部分的元素值。然后每一部分在各自递归进行上述的过程,直到每一部分的长度都为1为止。 具体的过程就是当前无序
阅读全文
摘要:先上一张图,看看能不能从里面悟出些什么: 问题的解决思路: 就是当插入第i个的时候,前面的[i- 1]个已经排好了,这时候lst[i]就倒过来逐个和前面的关键字顺序进行比较,找到插入位置即将lst[i]插入,原来位置上的对象整体往后移。 代码如下: 首先来讲讲外层的for循环:它是从列表的第一个元素
阅读全文
摘要:别想太多了,这个冒泡排序就是我们脑海中想到的那个冒泡,就好像是气泡一样,较小的元素比较轻,从而要往上浮出来, 冒泡排序算法、 要对‘气泡’序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即‘轻’的元素在下面,就交换它
阅读全文
摘要:二分查找法:在我的理解中这个查找方法为什么会叫二分呢,我认为是将要查询的一个列表分成了两份,然后在利用某个值来进行比较,在一个不断循环的过程中来找出我们要找的某一个值。 废话不多说,先上代码: 二分查找发是一个效率很高的查找法,但是被查找的数据必须是有序的。 首先,将待查找target值与有序列表l
阅读全文

浙公网安备 33010602011771号