极光推送在众多的消息推送里,口碑算是很好的,项目中我负责的是这一块,就整理了这篇博客帮助记忆;极光推送官方SDK文档:https://docs.jiguang.cn/jpush/server/sdk/java_sdk/错误码信息:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#_19工具类:import java.util.A
转载
2024-07-29 19:43:04
18阅读
目录1. 简介2. 项目结构3. 配置文件3.1 Maven3.2 logback-spring.xml3.3 application.yml4. 自定义输出级别5. 项目地址6. 部分内容没有输出到日志文件中问题处理7.根据开发、测试、生产环境采用不同的配置8.补充1:控制台和日志文件中都不输出日志9.补充2:启动报错`java.lang.ClassNotFoundException: org
转载
2024-04-29 20:56:52
133阅读
一.引入1.经典算法面试题字符串匹配问题 1)有一个字符串 str1 = "世界你好 你好Java你好Java 你好数据结构菜鸟",和一个子串 str2 = "你好Java" 2)现在要判断str1是否含有str2,如果存在,就返回第一次出现的位置,如果没有,则返回-1 3)要求用最快的速度来完成匹配 4)你的思路是?暴力匹配KMP算法<<部分匹配表>>汉诺塔分治算法八皇后
原创
2023-03-01 15:37:22
99阅读
链表(Linked List)链表是有序的列表,但是它在内存中是存储如下介绍链表是以节点的方式来存储,是链式存储每个节点包含data域,next域:指向下一个节点.如图:发现链表的各个节点不一定是连续存储链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定1.单链表单链表(带头结点)逻辑结构示意图如下1.1单链表的创建和遍历添加
先创建一个head头节点,作用就是表示单链表的头后面我们每添
原创
精选
2023-03-03 08:02:27
345阅读
2019秋招的结束,突然不知道做些什么,总不能天天躺尸吧哈哈。好了,在2019年10月27日的晚上辗转反侧想做出一个完全出自自己的一款软件,类似QQ的软件。体验腾讯初创QQ时,创业的艰难情景。以及对自己所学知识的汇总。所用到的技术包含C语言,C++语言,数据结构与算法(如vector,map,链表),操作系统(如进程线程等),网络(HTTP,三次握手,Socket,IP及端口号等),以及MySQL
原创
2021-12-23 17:08:29
125阅读
哈希表1.需求引入有一个公司,当有新的员工来报道时要求将该员工的信息加入d,性别,年龄,住址),当输入该员工的d时,要求查找到该员工的所有信息.要求:不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)2.基本介绍散列表(Hash table,也叫哈希表广),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找
原创
精选
2023-03-16 21:31:14
287阅读
排序算法排序的概念排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程分类排序的分类:内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。常见的排序算法分类(见图)算法的时间复杂度度量一个程序(算法)执行时间的两种方法事后统计的方法这种方法可行,但是有两个问题:一是要想对设计
推荐
原创
2023-03-09 19:56:20
754阅读
数据结构包括:线性结构和非线性结构。所以博主会通过这两个角度来对线性结构和非线性结构进行梳理归纳。1.稀疏(sparse array)数组需求引入编写的五子棋程序中,有存盘退出和续上盘的功能。分析问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据->稀疏数组1.1介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记
原创
精选
2023-03-02 09:59:12
357阅读
二叉树的前序、中序、后序查找查找指定节点请编写前序查找,中序查找和后序查找的方法。并分别使用三种查找方式,查找heroNO=5的节点并分析各种查找方式,分别比较了多少次前序查找思路先判断当前结点的no是否等于要查找的如果是相等,则返回当前结点如果不等,则判断当前结点的左子节点是否为空,如果不为空,则递归前序查找如果左递归前序查找,找到结点,则返回,否续判断,当前的结点的右子节点是否为空,如果不空,
原创
2023-03-25 23:33:45
213阅读
前缀、中缀、后缀表达式->(逆波兰表达式)1.前缀表达式(波兰表达式)前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前举例说明:(3+4)×5-6对应的前缀表达式就是-×+3456前缀表达式的计算机求值从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素和次顶元素),并将结果入栈:重复上述过程直到表达式最左端,最后运算得出
推荐
原创
2023-03-04 10:30:07
304阅读
插入排序1.基本介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。2.基本思想插入排序(Insertion Sorting).的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中
原创
精选
2023-03-10 20:54:15
408阅读
快速排序1.基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列2.思路分析3.需求引入要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法。
说
原创
精选
2023-03-11 22:49:30
359阅读
基数排序1.基本介绍基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sor)或bin sort,顾名思义,它是通过键值的各个位的值,将安排序的元素分配至某些“桶”中,达到排序的作用基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法基数排序(Radix Sort)是桶排序的扩展基数排序是1887年赫尔曼何乐礼发明的
原创
精选
2023-03-12 23:01:15
209阅读
非线性结构非线性结构包括:二维数组,多维数组,广义表,树结构,图结构树树结构为什么需要树结构数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可,删除效率也很好)。缺
原创
精选
2023-03-17 21:43:30
290阅读
堆排序1.基本介绍堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆,注意:没有要求结点的左孩子的值和右孩子的值的大小关系。每个结点的值都小于等于其左右子节点的值,称为小顶堆大顶堆举例说明我们对堆中的结点按层进行编号,映射到数
原创
精选
2023-04-18 23:23:13
312阅读
查找算法介绍在Java中,常用的查找算法有四种1)顺序(线性)查找2)二分查找/折半查找3)插值查找4)斐波那契查找1.线性查找算法1.需求引入有一个数列:{1,8,10,89,1000,1234},判断数列中是否包含此名称
【顺序查找】要求:如果找到了,就提示找到,并给出下标值。2.代码实现public class SeqSearch { public static void main(S
原创
精选
2023-03-13 18:14:45
284阅读
插值查找1.原理介绍插值查找算法类似于二分查找,不同的是插值查找每次从自适应id处开始查找。将折半查找中的求mid索引的公式,low表示左边索引,high表示右边索引.key就是前面我们讲的findValint midindex = low +(high -low)*(key -arr[low])/(arr[high]-arr[low])2.代码实现public class InsertValue
原创
精选
2023-03-15 22:50:55
320阅读
哈夫曼树1.基本介绍给定n个权值作为个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树Huffman Tree,还有的书翻译为霍夫曼树。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。2.赫夫曼树几个重要概念和举例说明路径和路径长度:在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长
原创
精选
2023-05-30 21:35:12
320阅读
顺序存储二叉树概念从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看右面的示意图。要求右图的二叉树的结点,要求以数组的方式来存放arr:[1,2,3,4,5,6,6]要求在遍历数组arr时,仍然可以以前序遍历,中序遍历和后序遍历的
方式完成结点的遍历特点顺序二叉树通常只考虑完全二叉树第n个元素的左子节点为2*n+1第n个元素的右子节点为2*n+2第n
原创
精选
2023-04-13 23:47:04
225阅读
JS data: {
gdt_vid:'',
qz_gdt:'',
type:'lzxcx'
}, onLoad(options) {
this.gdt_vid = wx.getLaunchOptionsSync('gdt_vid');
this.qz_gdt = wx.getLaunchOptionsSync('qz_gdt');
原创
2023-10-31 11:02:47
192阅读