再回首数据结构—AVL树(一)

  前面所讲的二叉搜索树有个比较严重致命的问题就是极端情况下当数据以排序好的顺序创建搜索树此时二叉搜索树将退化为链表结构因此性能也大幅度下降,因此为了解决此问题我们下面要介绍的与二叉搜索树非常类似的结构就诞生了;   AVL(Adelson-Velskii and Landis)树,名字取自其发明

Golang的模块管理Module

  Golang 1.11版本终于支持了官方的模块依赖管理功能,1.11以前想要实现依赖管理只能够通过借助第三方库来实现,1.11以前的版本Golang项目必须依赖以GOPATH,从当前版本开始Golang项目可以完全脱离GOPATH目录而工作,GOPATH将会逐渐被移除; Go Module   

再回首数据结构—二叉搜索树

  二叉搜索树(Binary Search Tree)为非线性结构,树与链表一样为动态数据结构也可称二叉搜索树为多个链表所组成实现的,由于二叉搜索树性能比较高所以属于比较常用的数据结构;二叉搜索树每个节点除了Key外还存在指向左子树的Left节点与指向右子树的Right节点,如左或右子树不存在则该节

基础算法——排序【一】

  排序可以说时最基础的算法之一,排序就是将数据按照某种逻辑重新排列的过程,比如从大到小排序、从小到大排序;排序非常常见比如有购物车物品的排序、历史订单的排序等等;算法我们比较关心的主要有两点:时间复杂度与空间复杂度,排序算法一样;这篇文章只介绍几种基本的排序算法:冒泡排序、插入排序、选择排序; 选

再回首数据结构—链表

  链表与数组一样同为线性数据结构,不少编程语言也自带了链表的实现,链表可以存放不同数据类型的数据;   与数组不同,数组占用内存结构必须为连续,而链表则不需要内存空间为连续的;链表由多个节点连接而成,每个节点除了存储当前节点的值外还存有指向链表中下一个节点的地址;链表也有多种结构:单链表、双向链表

再回首数据结构—数组(Golang实现)

  数组为线性数据结构,通常编程语言都有自带了数组数据类型结构,数组存放的是有个相同数据类型的数据集;   为什么称数组为线性数据结构:因为数组在内存中是连续存储的数据结构,数组中每个元素最多只有左右两个方向有相邻的元素;数组中的每个元素都有一个索引(或称下标)标识,这个索引在编程语言中通常都是从0

Helm 入门指南

  Helm 为Kubernetes的软件包管理工具,Helm有两部分组成:Helm客户端、Tiller服务端,Helm三个主要部件:Chart、仓库、Release; **Chart:**为Kubernetes中应用程序所需要的资源的定义。 **仓库:**为存储Helm chart的仓库,可从仓库

Kubernetes中的RBAC

  Kubernetes中,授权有ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)、Webhook、Node、AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式。需要在kube-apiserver设置–authorization-mode=RBAC参数,启用

图解Raft之日志复制

  日志复制可以说是Raft集群的核心之一,保证了Raft数据的一致性,下面通过几张图片介绍Raft集群中日志复制的逻辑与流程;   在一个Raft集群中只有Leader节点能够接受客户端的请求,由Leader向其他Follower转发所有请求日志,并且有那么两条规则:Leader不删除任何日志、

图解Raft之领导者选举

  图解Raft领导者选举,这里通过五张图来解答Raft选举的全过程;   Raft集群各个节点之间是通过RPC通讯传递消息的,每个节点都包含一个RPC服务端与客户端,初始时启动RPC服务端、状态设置为Follower、启动选举定时器,每个Raft节点的选举定时器超时时间都在100-500毫秒之间
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×