Algorithm
文章平均质量分 90
TheHarrySky
There is nothing to be feared,it is just needed to be understand!
The individual has always had to struggle to keep from being overwhelmed by the tribe.
Stay hungry!Stay foolish!
展开
-
天天算法之动态规划
动态规划练习原创 2021-12-05 15:38:34 · 868 阅读 · 0 评论 -
天天算法之回溯
天天算法之回溯回溯天天算法之回溯思想实践leetCode国际版类型题思想利用递归+栈来刻画行为逻辑,遍历问题的所有可能的解法。回溯依赖栈的方式进行诠释。实践Next Permutation首先要理解题目,也就是求一组数的下一个全排列(字典顺序)。然后进行步骤推演,首先找到第一个正序对,如果正序对是末尾的最后两个元素,则直接交换即可。如果正序对不是最后两个末尾的元素的情况,则需要 在正序对终止元素后面的 倒序数列中 找到比正序对起始元素大 且在倒序数列中最小的数 并与之交换位置。原创 2021-12-05 15:34:56 · 248 阅读 · 0 评论 -
Tree-LSM
二分法二分法很简单,很精妙!一半一半的舍弃,一倍一倍的填充。(O(LogN))->树????树????的类型什么是普通的树?无序、混沌、自然、简单、墒减!什么是动态查找树?动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。其都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。其查找的时间复杂度大体维持在O(log(N))数量级上。原创 2021-10-13 14:58:54 · 220 阅读 · 0 评论 -
分布式一致性协议:拜占庭将军问题
拜占庭将军问题什么是拜占庭将军问题?故事影射的问题1. 拜占庭将军问题是一个协议问题,只有所有将军达成共识,一同攻击某个敌军,才能成功。(目的是达成共识,且结果代表大多数人的意见)2. 分散的军队,军队内可能有叛徒和敌军间谍,左右将军们的决策。在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。(在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识)3. 拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及原创 2021-09-28 22:45:24 · 9761 阅读 · 0 评论 -
分布式一致性协议:Paxos算法
Paxos术语Proposal Value:提案的值。即合同约定中指定的票选候选人。Proposal Number:提案的编号。会在贿选阶段,本地持久化。Proposal:提案=提案的编号+提案的值。Chosen:批准/选定,一旦某个值被Chosen,后续Paxos都必须用该值进行交互。算法分析算法背景是什么?答:分布式节点,需要消息互通,保持状态(数据)一致性。算法面临的挑战是什么?答:CA的抉择,以及对于P的无奈(网络丢包现象不可避免,无法掌控)。算法追求的效果是什原创 2021-09-23 18:15:47 · 157 阅读 · 0 评论 -
普林斯顿大学_算法公开课:Part_1_第一部分:并查集
首先,给大家推荐一个平台,Coursera (类比国内的mooc网),你可以在上面学习诸多国外一流大学的公开课视频,各个领域的都有,涉猎范围很广。想要出国留学的小伙伴儿不妨在上面事先感受一波国外授课的氛围与模式。言归正传,作为一名程序猿,算法实在是太重要了!即便不是一名程序员,学习一下算法编程也是很有好处的。因为,在某种层面上讲,算法是你针对计算机进行的解决问题的思想上的映射,代码就是你想法的载体...原创 2018-05-20 23:07:27 · 1847 阅读 · 0 评论 -
普林斯顿大学_算法公开课:Part_1_第一部分: Deques and Randomized Queues\Collinear Points\8 Puzzle\kd-Trees
本文主要介绍普林斯顿算法公开课的Part_1部分的核心算法,总体分两篇文章介绍。对于并查集相关内容请查看文章:https://blog.csdn.net/gzharryanonymous/article/details/80384195第二部分:Stacks and Queues对于这部分的内容比较简单,主要就是队列、栈的基本操作。代码如下:package stackQueue;import ed...原创 2018-05-21 22:44:42 · 733 阅读 · 0 评论 -
KMP算法究竟怎么回事儿~
KMP算法的核心思想是利用模式串的重复部分,比如abab是模式串,主串是abacabc,那么当模式串的第二次出现的b字符与主串的第一次出现的c字符相遇时,c与b不等,那么模式串直接回退到第一个a,因为对于模式串自身而言,ab与ab是相等的,而主串是无需回退的。主体代码如下:private int[] getNext(String p) {//模式串自己与自己比较 int len = p.l...原创 2018-12-16 16:43:21 · 463 阅读 · 0 评论 -
位操作实现四则运算!!!Say Bye To + - * /
目录导航Java位操作实现四则运算:位操作技巧:代码实现:Java的基本类型:在Java中一共有8种`基本数据类型`(1byte=8bits)java没有无符号类型相关参考:位操作实现四则运算:补码的意义? 为了用加法操作表示减法运算,减去一个正数相当于加上这个数的对应的补码。Java位操作实现四则运算:位操作技巧:>>> 逻辑移位符,如:num>原创 2018-12-19 10:45:29 · 381 阅读 · 0 评论