随笔分类 -  数据结构/算法

摘要:参考:https://cloud.tencent.com/developer/article/1803377 使用信号量和 PV 操作实现进程的同步也非常方便,三步走: 定义一个同步信号量,并初始化为当前可用资源的数量 在优先级较「高」的操作的「后」面执行 V 操作,释放资源 在优先级较「低」的操作 阅读全文
posted @ 2022-06-12 12:21 morein2008 编辑
摘要:转自:https://www.cnblogs.com/coffy/p/5878915.html 设f(i)表示L中以ai为末元素的最长递增子序列的长度。则有如下的递推方程: 这个递推方程的意思是,在求以ai为末元素的最长递增子序列时,找到所有序号在L前面且小于ai的元素aj,即j<i且aj<ai。如 阅读全文
posted @ 2019-08-30 19:55 morein2008 编辑
摘要:结果: 效率测试: 输出: 高效改进版:使用字典记住已经算出来的结果。 输出: 参考:https://www.cnblogs.com/jiayongji/p/7118895.html 阅读全文
posted @ 2019-08-19 18:04 morein2008 编辑
摘要:从B树、B+树、B*树谈到R 树 QuadTree(四叉树) 四叉树空间索引原理及其实现 阅读全文
posted @ 2017-11-22 01:31 morein2008 编辑
摘要:顾客海淘时,所购买的商品需要交给转运公司来运回国内。顾客的多个商品(假设商品都是长方体,不同的商品的长宽高可能各不相同) ,转运公司要用快递盒打包运输,但转运公司只有一种类型的快递盒,快递盒的长、宽、高都已经给定,且依据海关规定,经过海关时,若每个快递盒内所含物品的总价值不超过2000元时,可以免关 阅读全文
posted @ 2017-08-26 14:13 morein2008 编辑
摘要:http://www.cnblogs.com/brookshi/p/6545238.html 阅读全文
posted @ 2017-08-24 18:48 morein2008 阅读(133) 评论(0) 推荐(0) 编辑
摘要:求LCS的长度,Java版本: 推导过程和递推公式: 主要参考: 算法导论 最长公共子序列LCS(动态规划) 其中,理解递推公式之后,要理解代码中的c数组 是怎么变化的(结合下面这个图的过程,过程为:每一行,从左到右) 该文章中,打印LCS的过程(C语言,包括递归和非递归版本)也容易看懂。 Java 阅读全文
posted @ 2017-08-16 20:09 morein2008 阅读(477) 评论(0) 推荐(0) 编辑
摘要:非降序列(Increasing Sequence)例如: (1) 完全递增型序列:S={1,3,6,7,9} (2) 部分存在等于的序列:S={1,3,3,6,9} S的非降子序列:由原序列S的元素组成的(且保持元素之间的顺序不变的)组成的序列。 例如S={5,4,7,1,8,6}的子序列包括: 1 阅读全文
posted @ 2017-08-15 22:12 morein2008 阅读(555) 评论(0) 推荐(0) 编辑
摘要:Java版本 1: Java版本 2(推荐版本):其实就是版本 1的紧凑型(版本 2 QuickSort( )的末尾找到位置 i 之后直接利用了它,而版本 1 要返回之后再调用。) 实现2 参考自:快速排序--百度百科 C语言版本: 阅读全文
posted @ 2017-08-13 16:49 morein2008 阅读(205) 评论(0) 推荐(0) 编辑
摘要:买东西过程中,卖家经常需要找零钱。现用代码实现找零钱的方法,要求优先使用面额大的纸币,假设卖家有足够数量的各种面额的纸币。 下面给出的算法比较简单,也符合人的直觉:把找零不断地减掉小于它的最大面额的纸币,直到找零为0为止。 测试结果: Your change is 69,69=50*1 piece( 阅读全文
posted @ 2017-05-26 17:32 morein2008 阅读(2115) 评论(0) 推荐(0) 编辑
摘要:如何高效产生m个n范围内的不重复随机数(m<=n) 给出的perl写法,以及 JAVA随机数之多种方法从给定范围内随机N个不重复数 的方法三: 阅读全文
posted @ 2017-04-27 16:18 morein2008 阅读(732) 评论(0) 推荐(0) 编辑
摘要:该问题为产生不重复的随机数序列,形象点就是一副扑克牌中随机抽取N张。 摘自:不重复随机数列生成算法 改了一部分 阅读全文
posted @ 2017-02-27 15:27 morein2008 阅读(617) 评论(0) 推荐(0) 编辑
摘要:二叉排序树即中序遍历结果为递增的二叉树,如: 阅读全文
posted @ 2016-09-21 20:24 morein2008 阅读(607) 评论(0) 推荐(0) 编辑
摘要:1、斐波那契数列:1,1,2,3,5,8,13,21... C语言教材讲递归的时候,常常用斐波那契数列来举例,说明如何用递归来求,但其实应该是反面教材,因为递归算法有很多重复的步骤(画出算法的树结构就能看出来了),非常低效,而用非递归方法是非常快的,也很好理解。 非递归求第N个数: 2、阶乘:Fac 阅读全文
posted @ 2016-08-12 17:55 morein2008 阅读(502) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示