算法
robertkun
deep thinking
展开
-
分布式一致性算法-Raft
我们知道Raft来源与Paxos,Paxos最早是由莱斯利·兰伯特于1990提出。Paxos的大规模应用是在Google的广告系统中。Raft可以看做是简化版本的Paxos。Raft动画演示:(真心推荐) http://thesecretlivesofdata.com/raft/Raft的三种状态: 1.Leader(领导者) 2.Follower(跟随者) 3.Candidate(候选者)原创 2018-01-04 01:26:31 · 572 阅读 · 0 评论 -
Go实现二分法查找
Go实现二分法查找 package main /* Go实现二分法查找 二分法查找基实就是折半查找, 提前条件是数组为有序数组 思路: 1. 确定中间位置k 2. 将要查找的值T与array[k]比较,若相等,则查找成功。 若array[k] 1; 若array[k] > T, 则应该向小的方向找,k=k-1; */ import ( "fmt" ) func BinSearc原创 2017-12-06 21:55:58 · 1456 阅读 · 0 评论 -
Go使现快速排序
go使现快速排序 package main /* Go实现快速排序算法 思路: 在数组中取出一个元素作为基准值,把其它元素分为两组: “大的”是那些大于基准值的元素,“小的”是那些小于基准值的元素, 递归对这两组做排序。 快排快速的原因: 一旦知道了某个元素比基准值小,它就不需要与那些大的元素比较。 而大的元素也不需要与小的元素比较。 原理解析: http://blog.csdn.net/...原创 2017-12-07 14:35:30 · 378 阅读 · 0 评论 -
c++实现快速排序算法
#include <unistd.h> #include <stdio.h> using namespace std; void quickSort(int arr[], int left, int right) { if (left > right) { return; } int i = left; int j = right; int bas...原创 2019-01-16 15:09:32 · 7697 阅读 · 0 评论 -
求两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] func tw...原创 2019-01-16 17:24:42 · 339 阅读 · 0 评论