算法基础01——排序之冒泡&插入&选择排序

排序定义排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程

数据结构基础19———非线性数据结构之图

图论(Graphtheory)是数学的一个分支,图是图论的主要研究对象。图(Graph)是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。官方定义:图(Graph)是一个二元组(V,E),

数据结构基础18———非线性数据结构之老司机树(珂朵莉树)

老司机树,ODT(OldDriverTree),又名珂朵莉树(ChthollyTree)。起源自CF896C。会用STL的set就行。把值相同的区间合并成一个结点保存在set里面。用处赛场老司机树,主要用于——————骗分。只要是有区间赋值操作的数据结构题都可以用来骗分。一般出题人不会刻意卡,而且也

数据结构基础17———非线性数据结构之Trie字典树

施工,暂缓(详细讲解需要前置讲字符串匹配BM,RK算法,hash树,深入要讲KMP算法,AC自动机,SAM等等一大堆。如果简单的讲类比生活中的查字典就可以了又没啥讲的...)

数据结构基础16———非线性数据结构之自平衡树之B,B+,B*树

B树内部(非叶子)节点可以拥有可变数量的子节点(数量范围预先定义好)。当数据被插入或从一个节点中移除,它的子节点数量发生变化。为了维持在预先设定的数量范围内,内部节点可能会被合并或者分离。因为子节点数量有一定的允许范围,所以B树不需要像其他自平衡查找树那样频繁地重新保持平衡,但是由于节点没

数据结构基础15———非线性数据结构之堆(树堆)

树堆(英语:Treap),是有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树。其基本操作的期望时间复杂度为O(logn)。相对于其他的平衡二叉搜索树,Treap的特点是实现简单,且能基本实现随机平衡的结构。Treap=Tree+Heap。Treap本身是一棵二叉搜索树

数据结构基础14———非线性数据结构之自平衡二叉查找树之伸展树

伸展树(英语:SplayTree)是一种能够自我平衡的二叉查找树,它能在均摊O(logn)的时间内完成基于伸展(Splay)操作的插入、查找、修改和删除操作。由丹尼尔·斯立特(DanielSleator)和罗伯特·塔扬在1985年发明的。在伸展树上的一般操作都基于伸展操作:假设想要对一个二叉查找树执

数据结构基础13———非线性数据结构之自平衡二叉查找树之红黑树

将2-3树转换成红黑树主要思想:3节点分裂成2节点。将3节点的第一个元素,作为第二个元素的左节点,并用红色的线连接,此时红色线连接的节点就相当于红色。

数据结构基础12———非线性数据结构之自平衡查找树之2-3树

2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树,其节点可拥有3个孩子。不过,2-3树与满二叉树相似。若某棵2-3树不包含3-节点,则看上去像满二叉树,其所有内部节点都可有两个孩子,所有的叶子都在同一级别。另一方面,2-3树的一个内

数据结构基础11———非线性数据结构之自平衡二叉树之AVL树

在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M.Adelson-Velsky和E.M.Landis,他们在1962年的论文《Ana
Your browser is out of date!

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

×