首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法与数据结构
秃了也弱了
创建于2023-11-02
订阅专栏
算法与数据结构
等 1 人订阅
共39篇文章
创建于2023-11-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java加密算法的应用与实现(MD5、SHA、DES、3DES、AES、RSA、ECC)
严格来讲这不算是一种加密,而应该叫做信息摘要算法。该算法使用散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。通过数据打乱混合,重新创建一个叫做 散列值。常用于密码存储,或文件指纹校验。网站用户注册后,密码经过MD5加密后的值,存储进DB。再次登录时,将用户输...
排序算法-交换排序详解-CSDN博客
元素两两比较,如果发生逆序则交换,直到所有记录都排好序为止。冒泡排序(Bubble Sort)是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,从而使关键字小的记录如气泡一般逐渐往上 "漂浮"(左移),或者使关键字大的记录如石块一样逐渐向下 "...
数据结构-图的应用-最短路径(类C语言版)
交通网络的问题——从甲地到乙地之间是否有公路连通?在有多条通路的情况下,哪一条路最短? 交通网络用有向图来表示: 顶点——表示地点, 弧——表示两个地点有路连通, 弧上的权值——表示两地点之间的距离、交通费或图中所花费的时间等。如何能够使一个地点到另一个地点的运输时间最短或运费最...
【精选】算法-查找算法-树表的查找(二叉排序树、平衡二叉树)(类C语言版)
当表插入、删除操作频繁时,为维护表的有序性,需要移动表中很多记录。 改用动态查找表——几种特殊的树,表结构在查找过程中动态生成。 对于给定值key,若表中存在,则成功返回;否则,插入关键字等于key的记录。二叉排序树(Binary Sort Tree)又称为二叉搜索树、二叉查找树...
数据结构-数组详解(类C语言版)
按一定格式排列起来的,具有相同类型的数据元素的集合。若线性表中的数据元素为非结构的简单元素,则称为一维数组。线性结构。定长的线性表。若一维数组中的数据元素又是一维数组结构,则称为二维数组。非线性结构:每一个数据元素即在一个行表中,又在一个列表中。线性结构-定长的线性表:该线性表的...
数据结构-队列详解(类C语言版)
只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表(头删尾插)。与线性表相同,仍为一对一关系。顺序队或链队,以循环顺序队列更常见。队列的物理存储可以用顺序存储结构,也可用链式存储结构。相应地,队列的存储方式也分两种,即顺序队列和链式队列。只能在队首和队尾运算,且访问节点...
【精选】算法-查找算法-线性表的查找(类C语言版)
顺序表或线性链表表示的静态查找表。表内元素之间无序。在顺序表ST中查找值为key的数据元素(从最后一个元素开始比较)。for(i=ST.if(ST.R[i].把待查关键字key存入表头(哨兵、监视哨),可免去查找过程中每一步都要检测是否查找完毕,加快速度。{ // 在顺序表 ST...
数据结构-图的遍历(类C语言版)
从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点, 且使每个顶点仅被访问一次,就叫做图的遍历,它是图的基本运算。找每个顶点的邻接点的过程。图中可能存在回路,且图的任一顶点都可能与其它顶点相通,在访问完某个顶点之后可能会沿着某些边又回到了曾经访问过的顶点。怎样避免重复访问...
排序算法-归并排序
归并排序:将两个或两个以上的有序子序列“归并”为一个有序序列。在内部排序中,通常采用的是2-路归并排序。 即:将两个位置相邻的有序子序列R[/…m]和R[m+1…n]归并为一个有序序列R[/…n]。2-路归并排序中的核心操作是,将待排序序列中前后相邻的两个有序序列归并为一个有序序...
数据结构-串详解(字符串)(类C语言版)
串(String)——由零个或多个任意字符组成的有限序列。空串用∅表示。子串:串中任意个连续字符组成的子序列称为该串的子串。主串:包含子串的串相应地称为主串。字符位置:字符在序列中的序号为该字符在串中的位置。子串位置:子串第一个字符在主串中的位置。空格串:由一个或多个空格组成的串...
【精选】数据结构-初识树和二叉树(类C语言版)
树(Tree)是n(n≥0)个结点的有限集。若n = 0 ,称为空树。(2)其余结点可分为m(m≥0)个互不相交的有限集T1, T2, T3, …, Tm,其中每一个集合本身又是一棵树,并称为根的子树(SubTree)。树是n个结点的有限集。显然,树的定义是一个递归的定义。 二叉...
【精选】数据结构-栈详解(类C语言版)
栈 (stack) 是限定仅在表尾进行插入或删除操作的线性表。 因此, 对栈来说, 表尾端有其特殊含义, 称为栈顶 (top), 相应地, 表头端称为栈底 (bottom)。 不含元素的空表称为空栈。栈又称为后进先出 (Last In First Out, LIFO) 的线性表。...
数据结构-图的应用-最小生成树(类C语言版)
所有顶点均由边连接在一起,但不存在回路的图。生成树的顶点个数与图的顶点个数相同;生成树是图的极小连通子图,去掉一条边则非连通。一个有n个顶点的连通图的生成树有n-1条边;在生成树中再加一条边必然形成回路。生成树中任意两个顶点间的路径是唯一的; 含n个顶点n-1条边的图不一定是生成...
Java失效算法与应用(FIFO、LRU、LFU)
失效算法常见于缓存系统中。因为缓存往往占据大量内存,而内存空间是相对昂贵,且空间有限的,那么针对一部分值,就要依据相应的算法进行失效或移除操作。First In First Out,先来先淘汰。这种算法在每一次新数据插入时,如果队列已满,则将最早插入的数据移除。可以方便的借助Li...
数据结构-初识树和二叉树(类C语言版)
树的定义 树(Tree)是n(n≥0)个结点的有限集。 若n = 0 ,称为空树。 若n > 0,则它满足如下两个条件: (1)有且仅有一个特定的称为根(Root)的结点; (2)其余结点可分为m(m
数据结构-线性表详解(类C语言版)
线性表是具有相同特性的数据元素的一个有限序列。① 为顺序表L动态分配一个预定义大小的数组空间,使elem指向这段空间的基地址。 ② 将表的当前长度设为0。L.if(! L.L.动态分配线性表的存储区域可以更有效地利用系统的资源 , 当不需要该线性表时 , 可以使用销毁操作及时释放...
【精选】算法-B-树、B树、B+树详解
B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树。B-树,...
数据结构-哈夫曼树详解(类C语言版)
编程:将学生的百分制成绩转换为五分制成绩。 能不能找到一种效率最高的判别树呢? 答:哈夫曼树(最优二叉树) (判断树:用于描述分类过程的二叉树。从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。两结点间路径上的分支数。 (a)从A到B, C, D, E, F, G, H...
数据结构-图的应用-拓扑排序与关键路径(类C语言版)
无环的有向图,简称DAG图(Directed Acycline Graph)。 有向无环图常用来描述一个工程或系统的进行过程。(通常把计划、施工、生产、程序流程等当成是一个工程)。 一个工程可以分为若干个子工程,只要完成了这些子工程(活动),就可以导致整个工程的完成。用一个有向图...