算法基础
base for algorithm
微观尽头
求木之长者,必固其根本
展开
-
Paxos 算法分析
Paxos 的核心思想:“与其预测未来,不如限制未来”。背景:Paxos算法是莱斯利·兰伯特(英语:Leslie Lamport,LaTeX中的“La”)于1990年提出的一种基于消息传递且具有高度容错特性的共识(consensus)算法。分布式系统中的节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing)。基于消息传递通信模型的分布式系统,不可避免的会发生以下错误:进程可能会慢、被杀死或者重启,消息可能会延迟、丢失、重复,在基础 .原创 2020-07-22 20:03:53 · 359 阅读 · 0 评论 -
堆排序标准实现及时间复杂度分析
package myapp.kit.quickstart.utils;import java.util.Arrays;/** * @author huangdingsheng * @version 1.0, 2020/6/15 */public class HeapSort { public static void sort(int[] arr) { int len = arr.length; int startIdx = len / 2 - 1;.原创 2020-06-15 16:07:18 · 259 阅读 · 0 评论 -
并查集算法(Union find)第二式:加权quick-union
参考: 《算法》第四版,p144- p146以leetcode, 200th : Number of Islands() 为例 (https://leetcode.com/problems/number-of-islands/)对于加权quick-union算法,N个触点,在最坏情况下,find()、union()、isConnected()的成本增长数量级为lgNpackage...原创 2020-03-31 18:49:34 · 208 阅读 · 0 评论 -
并查集算法(Union find)第一式:quick-union
参考: 《算法》第四版,p136 - p144以leetcode, 200th : Number of Islands() 为例 (https://leetcode.com/problems/number-of-islands/)package com.odyssey.app.algorithm.base;/** * 并查集算法 - 以lc200,number of island...原创 2020-03-29 16:59:21 · 190 阅读 · 0 评论 -
快速排序标准实现及时间复杂度证明思路
一. 代码实现:package com.app.main.LeetCode.base;import com.alibaba.fastjson.JSONObject;/** * Created with IDEA * author:Dingsheng Huang * Date:2020/2/20 * Time:下午3:39 */public class QuickSo...原创 2020-02-20 17:33:59 · 769 阅读 · 0 评论