算法
文章平均质量分 72
独正己身
这个作者很懒,什么都没留下…
展开
-
计算之魂思考题1.4赛跑问题
假设由25名短跑者争夺比赛前三名,赛场上有5条赛道,一次可以有5名选手同时比赛。比赛不计时,只看相应名次。假设选手发挥稳定,也就是说如果约翰比张三跑得快,张三比凯莉跑得快,那么约翰一定比凯莉跑得快。最少需要几次比赛才能决出前三名?原创 2023-08-20 15:09:37 · 695 阅读 · 0 评论 -
计算之魂1.3 例题总和最大区间问题
计算之魂关于该算法的描述有些复杂,没看太懂打算放弃。由于在三重循环中计算Sum(left,right)有点没必要,因为current_sum = current_sum + arrays[right],只需存储当前计算的current_sum就好,下次遍历的对象加上current_sum即为left,right的总和。此处arrays为全局变量,具体逻辑为计算左子数组,右子数组的最大总和以及对应区间,再计算从中间往左,右延伸的最大总和及对应区间,再比较三者中的最大者即为最大总和,其区间为最大区间。原创 2023-08-13 22:54:49 · 684 阅读 · 0 评论 -
Java红黑树(一)
参考文章:红黑树上:https://www.cnblogs.com/CarpenterLee/p/5503882.html 红黑树原理一:https://www.cnblogs.com/skywang12345/p/3245399.html 红黑树下:https://www.cnblogs.com/CarpenterLee/p/...转载 2019-03-25 12:47:58 · 2619 阅读 · 1 评论 -
读书笔记-链表问题(二)
问题:判定给定的链表是以NULL结尾,还是形成一个环是否存在时间复杂度为O(n)的算法求解问题思路:使用Floyd环判定算法,该方法使用两个在链表中具有不同移动速度的指针。一旦它们进入环就会相遇,即表示存在环。这个判定方法的正确性在于,快速移动指针和慢速移动指针将会指向同一位置的唯一可能情况,就是整个或者部分链表是一个环。设想一下,乌龟和兔子在一个轨道上赛跑,如果它们在一个环上赛跑,那么跑得快的兔...原创 2018-04-24 22:48:10 · 169 阅读 · 0 评论 -
读书笔记-链表问题(一)
问题描述:找到链表的倒数第n个结点只用一次(链表)扫描就解决问题思路:使用两个指针pNthNode和pTemp。首先两个指针都指向链表的表头结点。仅当pTemp(沿着链表)进行了n次移动后,pNthNode才开始移动。然后两个指针同时移动直至pTemp到达表尾。这时pNthNode指针所指向的结点就是所求结点,也就是链表的倒数第n个结点。代码实现:ListNode NthNodeFromEnd(L...原创 2018-04-23 16:34:40 · 239 阅读 · 0 评论 -
区块链技术相关论文、文档
索引Angaroa的实现 repoUnderstanding Serenity, Part I: Abstraction: 中文翻译Understanding Serenity, Part 2: Casper: 中文翻译隔离见证技术 - set wit: segregated witnessIBLTs: 可逆式布鲁姆查找表(IBLT) , 如何促进比特币的去中心化, 弱区块(weak blocks...转载 2018-04-13 14:25:39 · 4906 阅读 · 0 评论 -
拜占庭将军问题
拜占庭将军问题很多人可能听过,但不知道是什么意思,本文从非专业的角度来讲讲,拜占庭将军问题到底是说什么的。拜占庭将军问题(Byzantine Generals Problem),首先由Leslie Lamport与另外两人在1982年提出,很简单的故事模型,却困扰了计算机科学家们数十年。故事大概是这么说的:拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金...转载 2018-04-14 20:14:16 · 264 阅读 · 0 评论 -
区块链学习资料
毫无疑问,区块链将使得程序员迎来第三春,这个机会在现阶段只属于程序员。曾经,乔布斯赶上了个人电脑的风潮,创立了引领潮流的苹果电脑。曾经,盖茨赶上了操作系统的拓荒期,创立了全世界每天都在使用的Windows。曾经,谷歌赶上了信息孤岛的困惑期,创立了连接所有信息的Google。曾经,还有安卓、IOS、Photoshop、Facebook......你错过的浪潮太多了。时代造英雄,你空有一身顶级的造船本...转载 2018-03-01 15:05:15 · 1097 阅读 · 0 评论 -
java web后端学习思路
基础:比如计算机系统、算法、编译原理等等 Web开发: 主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。J2EE:你需要学习的是Servlet/JSP(J转载 2017-12-15 14:08:23 · 2088 阅读 · 1 评论 -
java string int互转
1如何将字串 String 转换成整数 int?A. 有两个方法:1). int i = Integer.parseInt([String]); 或i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue();注: 字串转成 Double, Fl转载 2017-10-16 20:17:24 · 4052 阅读 · 0 评论 -
堆排序
1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i]22.堆排序的思转载 2017-10-10 20:07:16 · 138 阅读 · 0 评论