摘要: 一、普通队列(顺序存储结构) 说明:rear指向队尾元素,front指向对头元素的下一个元素。 i.判断元素个数:number=rear-front; ii.判断队空:rear==front iii.插入元素:rear++; iiii.删除元素:front++; iiiii.队满操作:rear==l 阅读全文
posted @ 2023-11-15 21:05 彭乐祥 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 一、题目:float x=123.4567;printf("%.2f,(int)(x*100+0.5)/100.00"); 首先是x*100,100自动向上转型成浮点数与x相乘,再加0.5,再这部分整体强制类型转换成整型,最后除以100.00,分子自动转换成浮点数,输出保留两位小数 结果:123.4 阅读全文
posted @ 2023-11-15 16:07 彭乐祥 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、题目 二、题解 思路:规律题 2.1. 解法一 void pyramid(int n) { for (int i = 1; i <= n; i++) {//n行 for (int j = 1; j <= n - i; j++)//n-i行个前置空格 printf(" "); for (int k 阅读全文
posted @ 2023-11-14 23:24 彭乐祥 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 一、二分查找 其本质就是找一个区间 二、整数二分 2.1. 查找左边界的模板 int findPrior(int left,int right,int target) { while (left < right) { int mid = (left + right) / 2; if (a[mid] 阅读全文
posted @ 2023-11-07 20:06 彭乐祥 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一.什么是稳定排序? 排序后相等元素的相对位置不发生变化 二.稳定排序有哪些? 2.1.不稳定排序:快速排序、希尔排序、堆排序、选择排序 2.2.稳定排序:冒泡排序、插入排序、二分插入排序、归并排序、基数排序 三.各大排序算法 3.1.稳定算法 3.1.1.冒泡排序 思想:通过两两比较不断将最大的数 阅读全文
posted @ 2023-11-06 13:06 彭乐祥 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 一、哈夫曼树 1.1 所有叶子元素的权数*深度(可以理解为路径长)的和最小的树,所以被称为最优二叉树 1.2 应用点——最短前缀码 问题1. 为什么哈夫曼编码能保证是前缀码? 因为没有一片树叶是另一片树叶的祖先,所以每个叶子节点的编码就不可能是其他结点的前缀。 问题2. 为什么哈夫曼编码能保证字符编 阅读全文
posted @ 2023-09-27 22:22 彭乐祥 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一.展示 1.1. 代码 #include<stdio.h> #include<stdlib.h> #define max 100000 typedef struct binaryTree { struct binaryTree* lchild, * rchild; char vaule; }BT; 阅读全文
posted @ 2023-09-10 23:23 彭乐祥 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ​ KMP算法 一. 介绍 KMP算法是一种高效的字符串匹配算法,其时间复杂度为O(n+m),其主要原因是目标串指针不回溯。 1.1 为什么目标串指针不用回溯? 1.1.1 什么是前后缀? **前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串。** **后缀是指不包含第一个字符的所有以最后 阅读全文
posted @ 2023-07-01 16:22 彭乐祥 阅读(92) 评论(0) 推荐(0) 编辑
摘要: ###一.重定向与转发 ####1.1.重定向:有两次请求,第一次访问服务器资源,服务器回应一个url和状态码,并且要浏览器再去访问这个路径下的资源。属于客服端行为。 ####1.2.转发:一次请求,浏览器访问服务器,服务器之间转跳到下一个资源,属于服务器行为。 ###二.分析重定向失败,转发成功 阅读全文
posted @ 2023-05-25 09:09 彭乐祥 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ###在maven中配置 ~~~ src/main/java **/*.xml src/main/resources **/* false ~~~ 阅读全文
posted @ 2023-05-24 13:08 彭乐祥 阅读(37) 评论(0) 推荐(0) 编辑