sponsored links

数据结构

数据结构(一)——常用的排序算法

November 30
数据结构(一)——常用的排序算法
排序算法 冒泡排序 复杂度 n^2 排序规则 冒泡排序算法的运作如下:(从后往前) 1. 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3. 针对所有的元素重复以上的步骤,除了最后一个. 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 稳定性:冒泡排序是一种稳定排序算法 实现: int flag = 0; for(int i=length-1; i>0

SGTtrick

November 30
SGTtrick
SGTtrick By 蒟蒻 ldxoiBy\ 蒟蒻\ ldxoiBy 蒟蒻 ldxoi Chapter 1.关于线段树操作的一些分析 我们知道,线段树有两个核心的函数pushdownpushdownpushdown和pushuppushuppushup. 以及两类对于一段区间进行操作的函数updateupdateupdate和queryqueryquery 博主在这里简单讲一下几个函数的功能: 首先我们假设用ValValVal表示维护信息的类型,TagTagTag表示懒标记的类型. 显然一个线

数据结构:线性表、链、栈、队列

November 30
数据结构:线性表、链、栈、队列
数据结构:线性表.链.栈.队列 //线性表的动态分配顺序存储结构 typedef int ElemType; struct SqList { ElemType *elem; //存储空间基址 int length; int listsize; }; //单链表存储结构 typedef struct LNode { ElemType data; struct LNode *next; }LNode, *LinkList; //双向链表存储结构 typedef struct DuLNode { El

求二叉树中两个节点的最近公共祖先

November 30
求二叉树中两个节点的最近公共祖先
比如:在如图这棵二叉树中,8和9的公共祖先是1,4和5的公共祖先是2,5和2的公共祖先是2. 在上述分析中,我们可以得出思路,本题解法可分为两种情况,(1)两个节点在根节点同侧 ,则它们的最近公共祖先可能是其中一个节点,也可能是在到两个节点的公共路径上. (2)两个节点在根节点的不同侧,则它们的公共祖先只能是根节点. 同时,这棵树又分为三种情况: (1)这棵树是搜索树 (2)这棵树中有三叉链 (3)它只是一棵普通的二叉树 template<class T> struct BinaryTreeN

2118数据结构实验之链表三:链表的逆置

November 30
2118数据结构实验之链表三:链表的逆置
数据结构实验之链表三:链表的逆置 Problem Description 输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据. Input 输入多个整数,以-1作为结束标志. Output 输出逆置后的单链表数据. Example Input 12 56 4 6 55 15 33 62 -1 Example Output 62 33 15 55 6 4 56 12 Hint 不得使用数组. 代码如下: #include <std