数据结构
文章平均质量分 96
姜姜的奇妙冒险[Unity游戏前端]
这个作者很懒,什么都没留下…
展开
-
算法学习一,基础查找算法和排序算法
1.排序算法1.1 插入排序//插入排序public static void InsertionSort(int[] dataArray){ for (int i = 1; i < dataArray.Length; i++) { for (int j = i; j > 0; j--) { if (dataArray[j] < dataArray[j - 1]) {原创 2022-05-18 17:27:02 · 308 阅读 · 0 评论 -
算法学习二,红黑树查找算法
二叉查找树,对于大多数情况下的查找和插入在效率上来说是没有问题的,但是他在最差的情况下效率比较低。红黑树保证在最坏的情况下插入和查找效率都能保证在对数(Log(n))的时间复杂度内完成。1.红黑树的性质:性质1.节点是红色或黑色 性质2.根是黑色 性质3.所有叶子都是黑色(叶子是NIL节点) 性质4.如果一个节点是红的,则它的两个子节点都是黑的(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5.从任一节点到其叶子的所有路径都包含相同数目的黑色节点。注:清晰理解红黑树的性质,原创 2022-05-16 22:48:16 · 1244 阅读 · 0 评论 -
栈的知识
1.计算进栈顺序为e1,e2,e3,e4,e5,存在多少种可能的出栈序列:卡特兰数:C(2n,n)/(n+1) 2.图的广度优先用队列,深度优先用栈。3.(*p).a,和p->a完全等效4.顺序栈:#include<stdio.h>#include<stdlib.h>//结构体struct SqStack{ int Data[1...原创 2018-08-03 17:10:13 · 142 阅读 · 0 评论 -
二叉树知识
1. 二叉树的构建二叉树的基本构建方式为:添加一个节点,如果这是一棵空树,则将该节点作为根节点;否则按照从左到右、先左子树后右子树的顺序逐个添加节点。比如依次添加节点:1,6,10,2,7,11,则得到的二叉树为:在这里,我们需要借助一个链表来保存节点,以实现二叉树的顺序插入,具体做法如下:1.0 初始化一个用来保存二叉树节点的空链表;1.1 插入一个节点,①如果该树是一棵空树,...原创 2018-07-31 23:09:12 · 256 阅读 · 0 评论 -
队列的知识
1.二叉树的广度(层次)遍历算法优先用队列,深度优先(DFS算法)用栈。2.用序列筛选法建立堆:筛选法建堆必须从第n/2个元素开始,例如{12,13,11,18,60,15,7,19,25,100},从10/2 就是 60开始3.常用开源软件:(其中Redis,kafka经常被用作队列)MongoDB:分布式存储文件Redis:Redis是一个开源的使用ANSI C语言编写、...原创 2018-08-06 16:53:28 · 258 阅读 · 0 评论 -
数组与字符串的知识
1.对称矩阵的压缩存储方式:复制一个三角形拼在原来三角形的右边。2.数组常见操作:arr.push() //给数组末尾加上一个,返回arrarr.reverse() //接受数组 array 作为输入并返回一个单元为相反顺序的新数组,返回arr[].concat.call(arr.[]) //返回连接后的新数组,,不会改变原来arr[].sort.call(a...原创 2018-08-07 11:30:38 · 153 阅读 · 0 评论