选择排序 选择排序简单选择排序算法思想假设排序表为L[1…n],第i趟排序即L[i…n]中选择关键字最小的元素与L(i)交换,每一趟排序可以确定一个元素的最终位置,这样经过n - 1 趟排序就可使得整个排序表有序。 模板代码12345678void SelectSort(ElemType A[],int n){ for(int i = 0;i < n - 1;i ++){ 2023-05-10 数据结构 > 第八章 排序
交换排序 交换排序冒泡排序算法思想从后往前(或从前往后)两两比较相邻元素的值,若为逆序(即A[i - 1] > A[i]),则交换他们,直到序列比较完。我们称它为第一趟冒泡,结果是将最小的元素交换到待排序的第一个位置(或将最大的元素交换到待排序序列的最后一个位置),关键字最小的元素如气泡一般逐渐往上“漂浮”直至“水面”(或关键字最大的元素如石头一般下沉至水底)。下一趟冒泡时,前一趟确定的最小元素不在参 2023-05-10 数据结构 > 第八章 排序
插入排序 插入排序直接插入排序算法思想 基本思想是每次将一个待排序的记录按其关键字大小插入前面已排好序的子序列,直到全部记录插入。 要将元素L[i]插入已有序的子序列L[1…i-1],需要执行以下操作(L[]表示一个表,L()表示一个元素。①查找出L(i)在L[1…i-1]中的插入位置k②将L[k…i-1]中的所有元素依次后移一个位置。③将L(i)复制到L(k)。 模板代码1234567891011voi 2023-05-10 数据结构 > 第八章 排序
Trie Trie数Tire树介绍 Tire 树 又称单词查找树,是一种树形结构,是一种哈希树的变种。 Tire 树是一种能够快速存储和查找一组字符串集合的数据结构,是以空间换时间,利用字符串的前缀来降低查询时间。 与二叉树不同,Tire 树有 26 子节点对应 26 个字母,根节点不包含字符串,从根节点到某个节点,经过的字符连起来的字符串就是对应的字符串。当储存结束一个字符串后,尾节点会产生一个标记,表示 2023-05-06 #算法基础,第二章
KMP KMP完整代码12345678910111213141516171819202122232425262728//KMP#include<iostream>using namespace std;const int N = 1e5 + 10,M = 1e5 + 10;int n,m;char p[N],s[M];int ne[N];int main(){ cin > 2023-05-06 算法基础 > 第二章
栈与队列:单调队列、单调栈 栈与队列:单调队列、单调栈栈和队列的基本操作算法思想 栈:先进后出 队列:先进先出 模板代码12345678910111213141516171819202122232425262728293031323334#include<iostream>using namespace std;const int N = 1e5 +10;int stk[N],tt = 0; 2023-05-04 算法基础 > 第二章
链表与邻接表:树与图的存储 链表与邻接表:树与图的存储(用数组模拟)单链表算法思想(静态链表) 用数组模拟效率高,以为如果用结构体的话,每次要new一个节点,这样会很慢 单链表–>邻接表–>存储树和图 双链表–>用来优化某些题目 刚开始设置头结点head为空 数组表示链表,e[N]为节点存储的值,ne[N]节点指向的下一个节点,空节点的下标用-1表示 完整代码12345678910111213141516 2023-05-04 算法基础 > 第二章
第三章Tag文件与Tag标记 第三章Tag文件与Tag标记3.1Tag文件3.1.1Tag文件的结构Tag文件是扩展名为.tag的文本文件,其结构和JSP文件类似。其中可以有普通的HTML标记符、某些特殊的指令标记、成员变量声明和方法的定义。Java程序片和Java表达式。 3.1.2Tag文件的保存1.Tag文件所在目录 在 JSP 中,标签文件通常存储在 WEB-INF/tags 目录下,该目录是受保护的,无法从 2023-05-04 JavaWeb
双指针算法 双指针算法一个简单的例子 算法思想输入一行字串如“abc def ghi” 将单词输出即abcdefghi※思路,定义两个指针,i指向第一个单词,j向后扫描,如果扫到’ ‘空格就停下来,然后输出i到j-1包含的单词,然后使i = j进入下一层循环。\ 完整代码:1234567891011121314151617#include<iostream>#include<str 2023-04-24 算法基础 > 第一章