Grammar
自己语法小白成长记
aristo_boyunv
没有一件事因为你拖延而变好!
展开
-
快速排序【复习总结】
Hello!这七大排序想想我现在的感觉是什么呢?感觉会,但细想又是模糊的,再细想,我擦!!会个锤子!更别提撸代码了…手动狗头~来一篇巩固总结!(还在更新__没写完)原创 2022-08-19 11:49:14 · 241 阅读 · 0 评论 -
希尔排序【简单详细】
是一种插入排序,简单插入排序的改进版本又名缩小增量排序.为什么希尔排序?因为叫做希尔提出这种的算法。原创 2022-08-09 10:10:05 · 287 阅读 · 0 评论 -
从中序与后序遍历序列构造二叉树
从中序与后序遍历序列构造二叉树原创 2022-08-04 14:22:22 · 101 阅读 · 0 评论 -
带头节点与不带头节点单链表
单链表头结点带与不带原创 2022-07-27 09:27:44 · 188 阅读 · 0 评论 -
堆排序算法
堆排序原创 2022-06-17 14:05:57 · 108 阅读 · 0 评论 -
【KMP算法】学习记录
最近学习记录下,方便后面自己查看字符串匹配 利用记录已经匹配的文本内容(这个前缀表真的不好理解!!我花了老半天的时间。。。。)看下面的内容前:下下面的两个问题解释作用实例演示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lWD0F0TI-1654617955803)(Untitled.assets/KMP%E7%B2%BE%E8%AE%B21.gif)]上图中的: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tyqKlMue-1654原创 2022-06-08 00:07:51 · 202 阅读 · 0 评论 -
两个数组相交【简单随笔】
两个数组相交1.描述:给定两个数组,求出其相交的部分,要求去重,不考虑输出结果顺序模拟数据:input: num1=[1,2,2,5,3,8] num2=[2,6,3] output: [2,3] 目的:学会使用set的集合做题注意:如果题目限制了 数值的大小,我们采用数组,没有限制数组的大小,我们采用set(数据量小的时候)2.代码:package 哈希表;import java.util.HashSet;import java.util.Set;原创 2022-05-17 16:02:48 · 203 阅读 · 0 评论 -
链表的定义结构【简洁详细】
链表(卡神小迷弟!!!)----最近攻克了二叉树,回头转战链表~~啦啦啦!!1.定义:是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。2.链表的类型单链表: 只有一个尾指针双链表: 有头指针和尾指针循环链表: 链表首尾相连单链表的结构:双链表的结构:循环链表的结构:3.链表的存储方式特点:逻辑地址连续,物理地址离散无序(没有要求,想怎么样就怎么原创 2022-05-08 21:14:55 · 1721 阅读 · 0 评论 -
删除`BST`的节点
删除BST的节点1.题目描述:给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。2.思路1.找到需要删除的节点,找到,删除 时间复杂度**O(h)**h为树高2.调整BST递归法的涉及单层逻辑确定单层逻辑(主要有五种情况)找到删除节点,直接返回找到删除节点2.左右孩子为空(叶子节点),直接删除,返回null为根节点3.删除节点的左孩子为空,右孩子不原创 2022-05-04 16:56:13 · 710 阅读 · 0 评论 -
最大二叉树
最大二叉树题目要求:给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。最近的学习记录下当中的主要思想,采用分割,最大值为中间点,分割左区间和右区间当中推荐下标索引法,方便快捷package 二叉树;public class 二叉树最大值 { /** * 给定一个不含重复元素的整数数组。一个以此数组构原创 2022-04-19 16:51:52 · 252 阅读 · 0 评论 -
根据中序和后序建立二叉树
中后序建树今晚熬夜撸一篇算法(不然睡觉都不踏实!哈哈哈)*话不多说!!上代码!!!(我解释很详细了哈,有不懂的,欢迎评论区留言,一起讨论,一起成长!!!)题目要求:根据一棵树的中序遍历与后序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。public class 中后序建立二叉树 { /** * 利用下标索引法 */ public TreeNode traversal(int[] inorder,int in_start,int in_end,原创 2022-04-18 00:03:37 · 1495 阅读 · 0 评论 -
平衡二叉树
平衡二叉树题目要求:判断一颗二叉树是否为平衡二叉树,若是返回TRUE,否则FALSE什么是平衡二叉树?一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。注意:高度:代表的是你从从下往上,从叶子结点(最底层)到根节点**啥意思?**就是一座楼,我们要从第一层数到最靠近天空的一层,从下到上,第一层相当于叶子结点(最底层)到最高一层(根节点)深度:反过来,从上到下,从根节点 到最底层的叶子结点不明白?一个池塘的深度,你怎么算,是不是从我们所站原创 2022-04-09 11:13:31 · 649 阅读 · 0 评论 -
前中后遍历迭代遍历
前中后遍历迭代遍历1.怎么区分前中后遍历的??**关键点:**根节点在哪个位置就是啥排序不明白?遍历顺序:前序:中左右中序:左中右后续:左右中看清楚了吗?当中的中字在哪个位置就是什么排序2.话不多说,上代码树节点的定义:package 二叉树;public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(){}; TreeNode(int val)原创 2022-04-03 11:34:11 · 775 阅读 · 0 评论 -
INT的取值最大最小范围
Integer.MAX_VALUE刷题时碰到;知识点遗忘----记录因为int的取值范围:[-2 147 483 648,2 147 483 647]**而java中Integer.MAX_VALUE(专门函数定义)就是等于他的最大值Integer.MAX_VALUE=2 147 483 647完结原创 2022-03-23 16:07:06 · 1093 阅读 · 0 评论 -
七大排序--选择排序
七大排序–选择排序算法思想*选择排序:很简单的一种排序(按从小到大排序) *基本思想: *1.首先在未排序的数列上寻找最小值, *2.找到最小值的值和位置,将其存放在数列的起始位置 *3.再从未排序的数列中寻找最小元素,找到后放到已排序的数列末尾 *4.依稀类推,直到遍历结束复杂度动图演示后续补上代码 /*====================================================================原创 2021-11-06 16:57:25 · 106 阅读 · 0 评论 -
七大排序--快速排序
七大排序–快速排序复杂度代码 /** *快速排序(从小到大排序) *1.首先建立左右哨兵l=0,r=arr.length-1 *2.寻找基准位置(将元素放在合适的位置) *3.基准值得设定有很多种,本篇采用以第一个数为基准值,进行快排---key=arr[l]=左哨兵 *4.首先从右哨兵开始向前搜索r--;将key与arr[r]进行比较,找到小于基准值得r,将arr[r]的值赋值给arr[l](左哨兵)原创 2021-11-06 14:31:38 · 110 阅读 · 0 评论 -
七大排序-直接插入排序
七大排序-直接插入排序直接插入排序遍历代码 /** * 排序思想: * 1.建立哨兵,把药插入的数据赋值给他 * 2.将要插入的数据从前面已经排好的数组后面开始比较,如果大于前面就要记录下来,并将数据进行后移,直到插入数据小于比较的数据 * 3.将哨兵的值赋给当前的记录下标 * 4.运用循环重复上述的步骤直到遍历结束 * 时间复杂度:O(n^2) * 空间复杂度:O(1)原创 2021-11-06 11:44:36 · 83 阅读 · 0 评论 -
字符串统计单词个数和实现单词打印输出
字符串统计单词个数和实现单词打印输出void countAndStatistic(char *arr){ //count:计数单词个数;flag:标志 int count=0,flag=0; //定义指针 char *p=arr; while(*p!='\0'){ while(*p==32){ if(*(p+1)==0){ flag=1; } ++p; } while(*p!=0&&*p!=32){ p++; } if(!fl原创 2021-11-05 15:58:29 · 813 阅读 · 1 评论