- 博客(7)
- 收藏
- 关注
原创 数据结构——二分搜索树
二分搜索树二分搜索树的本质是树,对于树的基本知识,我在我的一片关于堆的博文的开头做了讲述,大家可以参考。这里将重点讲述树的递归结构。定义二分搜索树是一颗二叉树, 二分搜索树每个节点的左子树的值都小于该节点的值,每个节点右子树的值都大于该节点的值,其任意一个节点的每棵子树都满足二分搜索树的定义。NULL节点和只有一个节点的树也是二叉树。理解通过上面对二叉树的定义,我们知道了向树中存储的元素...
2019-11-15 20:47:36 769
原创 数据结构——堆(C++)
数据结构——堆文章目录数据结构——堆堆与堆排序二叉树满二叉树完全二叉树二叉堆堆的存储堆的插入删除具体的实现堆排序堆与堆排序堆(heap)分为二叉堆、二项式堆、斐波那契堆,堆是非线性数据结构,相当于一维数组,有两个直接后继。堆又被称为优先队列,尽管名为优先队列,但堆并不是队列。因为队列遵循First in, First out,但是堆是按照元素的优先级取出元素。所以“堆”是实现调度器的理想数据...
2019-11-13 17:44:21 9159 2
原创 WEB应用的路径(相对路径)
文章目录访问路径的组成绝对路径相对路径斜杠开头的相对路径前台路径后台路径以路径名称开头的相对路径总结访问路径的组成URL(Uniform Resource Locator,统一资源定位符),其由两部分组成:资源路径+资源名称。资源名称指的是要访问资源的直接名称,如(index.html、index.jsp、102915653等),那么资源路径很简单就是除资源名称以外的其他部分了。URL是URI...
2019-11-08 22:17:11 1350
原创 数据结构——链表(图文)
链表文章目录链表数据结构插入元素为链表设立虚拟的头节点链表的查找链表的修改遍历输出删除操作测试结果源码之前我们学习了基于数组实现的三种数据结构:动态数组、栈、队列。他们底层依赖于静态数组,通过resize方法使其变成动态的。但是我们所谓的动态时是从用户的出发角度来看的。接下来我们学习链表。他是真正的动态数据结构,也是最简单的动态数据结构(因为还有二分搜索树、Trie等相对复杂的)。学习链表,...
2019-11-06 13:02:42 3246
原创 数据结构——循环队列(图文)
文章目录循环队列引入逻辑代码源码循环队列引入为什么要使用循环队列?因为普通队列的底层是数组,对于队列的先进先出,每当我们要删除队列首一个元素的时候,之后的元素都要向前推移,然后size--,这样的话就增加算法的时间复杂度(变成了O(n))。这时我们就想到,队首元素弹出去了,即使不移动后续元素,他仍会保持队列的样子,我们只需要用一个变量来存储队首索引front,再用一个变量来存储队尾的后一个索...
2019-11-05 14:54:40 8227 3
原创 数据结构——动态数组
数据结构——动态数组文章目录动态数组Code(扩容)测试Code(缩容)测试在上一节我们讲述了静态数组的实现过程,下面我们来学习一下动态数组。动态数组动态数组,顾名思义使得数组的容量是可伸缩的,大致思路如下,我们就需要创建一个新的数组newData[]来保存原来data[size]数组中的值,但是capacity将变大,size不变,赋值过程采用循环来赋值,完成后,将data[]指向new...
2019-11-04 11:34:49 866
原创 数据结构——数组
文章目录数据结构——数组制作属于我们的数组类插入指定位置插入元素验证判断查找修改搜索删除总结数据结构——数组数组的命名,就是给数组起一个名字,数组的索引:索引可以有语意,也可以没有语意。数组是承载元素的工具,与“索引——语意”之间的关系并不大。但是在生活中,大部分来处理“索引没有语意”的情况的数组使用。比如,在一个数组长度为8的数组中,int[] score = new int[10];在...
2019-11-04 08:59:14 837
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人