1.链表 链表用来存储数据,由一系列的结点组成。这些结点的物理地址不一定是连续的,即可能连续,也可能不连续,但链表里的结点是有序的。一个结点由数据的值和下一个数据的地址组成。一个链表内的数据类型可以是多种多样的。数组也是用来存储数据的,与链表相比,需要初始化时确定长度。一个数组内的数据都是同一类型。 ...
分类:
编程语言 时间:
2018-11-16 15:51:15
阅读次数:
212
主要是为了熟悉各种基本算法,在需要的时候能尽快找到,这里并没有进行参数校验 ...
分类:
其他好文 时间:
2018-11-14 19:10:45
阅读次数:
150
树状数组 树状数组的基本用途是维护序列的前缀和,相比前缀和数组,树状数组优势在于高效率的单点修改,单点增加(前缀和数组单点修改效率比较低) 因为树状数组的思想,原理还是很好理解的,就直接讲基本算法; 1 lowbit函数 关于lowbit这个函数,可能会有点难以理解,~~但其实你不理解也没关系,把模 ...
分类:
编程语言 时间:
2018-11-02 23:54:46
阅读次数:
263
基本概念 有哪些数据结构? 有哪些数据结构? 线性表,栈,队列,串,数组,广义表,树,二叉树,图 重点是线性表,二叉树 每种数据结构需要掌握,添加、更新、删除、查询、排序等操作的实现 学习数据结构的四种境界: 境界1:听懂理论,听懂算法思路 境界2:完成主要数据结构基本算法的实现(理论+实践,数据结 ...
分类:
其他好文 时间:
2018-10-16 17:39:38
阅读次数:
156
信息加密技术经过多年的发展,由一些基本算法组合形成了许多成熟的应用,如数字签名,安全证书,HTTPS,以及最近大热的数字加密货币,区块链等。这些看似种类繁多的应用,其实都由三类基本的算法通过不同的组合来实现,这三类算法分别是: 数据摘要(在很多场合也被称作哈希运算),对称加密,非对称加密。本文抛开这三类算法在不同实现方案中的差异,抽象出各类算法的共性,提纲挈领地描绘出三类算法在加密体系中的应用场景,让开发者能在短时间内对信息加密体系有个全局的认识,并能将这三类算法应用在实际的需求场景中,希望本文能成为设计信息加密应用的简要手册。
分类:
编程语言 时间:
2018-09-28 20:54:01
阅读次数:
243
一、基本算法 拓扑序列:对于一张有向图,求一个序列ai若对于每一条边(u,v),都满足au<=av ,则称这个序列为这张有向图的拓扑序列,一张图可能有多个拓扑序列。 求拓扑序列:找到入度为0的点,加入队列中,每次取出队列顶端的点加入拓扑序列的最后,将它到达的点的入度-1,然后再重复做,直到没有点的入 ...
分类:
编程语言 时间:
2018-09-18 19:23:48
阅读次数:
217
队列定义: 只允许在表的一端进行插入(队尾),另外一端进行删除操作(队头)的线性表称为队列。插入元素简称进队,删除元素简称出队; 按照存储结构分,可以分为链队和顺序队; 队列的特点:先进先出(FIFO),比如你排队打饭,排在第一个的最先打到饭; 队列的结构体定义: 顺序队: 链队(假设带头结点): ...
分类:
其他好文 时间:
2018-09-12 01:13:57
阅读次数:
166
线性表的结构体定义: 顺序表在内存中以数组形式保存,是一组连续的内存空间。 顺序表基本算法: 构造一个空的线性表: 返回指定元素位置: 创建一个线性表: 插入一个元素(假设线性表中元素已升序排序) 删除指定位置的元素: 在指定位置插入元素: 给线性表元素升序排序(可使用多种排序算法,本文使用冒泡): ...
分类:
其他好文 时间:
2018-09-07 00:59:51
阅读次数:
174