![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
数据结构与算法
彩虹糖520
只有不断学习,才能发现更大的世界~
展开
-
数据结构基础-二叉树
一、什么是树 树是由结点和边组成的,不存在环的一种数据结构。通过下图,我们就可以更直观的认识树的结构。 二、树的种类 2.1 满二叉树 满二叉树,定义为只有最后一层无任何子结点,其他所有层上的所有结点都有两个子结点的二叉树。 2.2 完全二叉树 完全二叉树,定义为除了最后一层以外,其他层的结点个数都达到最大,并且最后一层的叶子结点都靠左排列。 2.3 二叉查找树 特征 二叉查找树(也称作二叉搜索树)具备以下几个的特性: 在二叉查找树中的任意一个结点,其左子树中的每个结点的值,都要小于这个结点的值。原创 2021-06-20 20:11:20 · 123 阅读 · 1 评论 -
数据结构基础-字符串
一、子串查找(字符串匹配) https://s0.lgstatic.com/i/image/M00/1D/7B/Ciqc1F7h-hmAFsw0ADCjkl8SW7M434.gif public void s1() { String s = "goodgoogle"; String t = "google"; int isfind = 0; for (int i = 0; i < s.length() - t.length() + 1; i++) {原创 2021-06-20 17:41:04 · 44 阅读 · 0 评论 -
数据结构基础-数组
一、什么是数组 如果用数学的方式来看,我们可以把普通的数组看成是一个向量,那么二维数组就是一个矩阵。不过,二维数组对数据的处理方式并没有太多特别之处。 二、练习题 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后的数组和新的长度,你不需要考虑数组中超出新长度后面的元素。要求,空间复杂度为 O(1),即不要使用额外的数组空间。 /** * 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次, * 返回移除后的数组和新的长度,你原创 2021-06-20 17:31:48 · 53 阅读 · 0 评论 -
数据结构基础-线性表
一、线性表 1.1 线性表如何实现删除操作 新增 s.next =p.next p.next =s 删除 b= p.next p.next = p.next.next; 链表翻转 对于某个单向链表,它的指针结构造成了它的数据通路有去无回,一旦修改了某个指针,后面的数据就会造成失联的状态。为了解决这个问题,我们需要构造三个指针 prev、curr 和 next,对当前结点、以及它之前和之后的结点进行缓存,再完成翻转动作。具体如下图所示 添加链接描述 https://s0.l原创 2021-06-19 22:56:33 · 112 阅读 · 2 评论