
算法和数据结构
客 人
这个作者很懒,什么都没留下…
展开
-
二分查找算法
我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky...这句话可以这样理解:思路很简单,细节是魔鬼。本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边转载 2020-06-09 23:36:35 · 390 阅读 · 0 评论 -
云计算
一、云计算总纲二、下面是章节部分目录: 2.1 JAVA基础: 2.2 Linux基础 2.3SQL优化 2.4Hadoop 2.0大数据 2.5SPARK+STORM+FLUME 2.6PYTHON 2.7统计学基础 2.8矩阵基础...原创 2019-05-29 21:10:33 · 1020 阅读 · 0 评论 -
八大排序算法总结
八大排序算法总结排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示意图插入排序是一种最简单直观的排序...转载 2018-09-02 20:55:18 · 575 阅读 · 0 评论 -
常用数据结构和排序
一、数据结构链表链表是一种由节点(Node)组成的线性数据集合,每个节点通过指针指向下一个节点。它是一种由节点组成,并能用于表示序列的数据结构。 单链表:每个节点仅指向下一个节点,最后一个节点指向空(null)。 双链表:每个节点有两个指针p,n。p指向前一个节点,n指向下一个节点;最后一个节点指向空。 循环链表:每个节点指向下一个节点,最后一个节点指向第一个节点。 时间复杂度:...转载 2018-08-23 21:56:23 · 372 阅读 · 0 评论 -
B树与B+树
本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点...转载 2018-08-18 18:24:32 · 200 阅读 · 0 评论 -
数据结构和算法总结
一、二叉查找树也称有序二叉树,它是指一棵空树,或者满足以下性质的树:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、右子树也分别为二叉查找树。 没有键值相等的节点(noduplicatenodes)二叉查找树的高度为lgn,时间复杂度为O(lgn),最坏情况是退化成一条链表...原创 2018-07-22 20:40:46 · 237 阅读 · 0 评论 -
一致性Hash算法
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人...转载 2018-07-28 16:54:48 · 150 阅读 · 0 评论 -
树型结构
树型结构的基本概念对大量的输入数据,链表的线性访问时间太慢,不宜使用。本文探讨另外一种重要的数据结构----树,其大部分时间可以保证操作的运行平均时间复杂度为O(logN),第一部分先来看一下树的一些预备知识。首先看一下树形结构的样子,下图代表的是树型结构的一般形态:由上图看得出树是一些节点的集合,总结一下树的一些基本概念:1、结点:树中的数据元素都称之为结点2、根:最上面的结点称之为根,一颗树只...转载 2018-06-01 22:40:59 · 310 阅读 · 0 评论 -
数据结构-二叉树
浅谈数据结构-二叉树二叉树是树的特殊一种,具有如下特点:1、每个结点最多有两颗子树,结点的度最大为2。2、左子树和右子树是有顺序的,次序不能颠倒。3、即使某结点只有一个子树,也要区分左右子树。一、特殊的二叉树及特点 1、斜树所有的结点都只有左子树(左斜树),或者只有右子树(右斜树)。这就是斜树,应用较少2、满二叉树所有的分支结点都存在左子树和右子树,并且所有的叶子结点都在同一层上,这样就是满二叉树...转载 2018-06-01 22:35:13 · 187 阅读 · 0 评论