自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2020年最全最简单KMP算法讲解

1.KMP算法的来源 2.最大公共前后缀 3.KMP算法原理 4.next数组 5.next数组值的确定 6.KMP算法的缺陷 7.KMP算法的改进 8.一道KMP算法题 1.KMP算法的来源其实博主刚看KMP算法的时候的反应是这样的:我们引用一个问题给定一个主串S及一个模式串P,判断模式串是否为主串的子串;若是,返回匹配的第一个元素的位置(序号从1开始),否则返回0;如S=“abcd”,P=“bcd”,则返回2;S=“abcd”,P=“acb”,返回0这道题我们最先想到的算.

2020-06-09 13:25:01 11594 28

原创 一文搞定JS中window对象

1.window对象简介 2.窗口操作 3.对话框 4.定时器 5.location对象 6.navagator对象 7.document对象1.window对象简介1.在JavaScript中,一个浏览器窗口就是一个window对象。2.一个窗口就是一个window对象,这个窗口里面的HTML文档就是一个document对象,document对象是window对象的子对象。window对象的子对象分很多种:子对象说明document文档对象用于操作页面元素.

2020-06-25 14:16:41 5801 2

原创 一文搞定JS事件基础与进阶

1.事件简介 2.事件的调用方式        在script标签中使用        在元素中调用 3.鼠标事件        鼠标点击        鼠标移入移除       .

2020-06-24 21:41:38 3302 2

原创 最全哈夫曼树哈夫曼编码讲解,兄弟你值得拥有

目录 1.哈夫曼树的概念        路径概念        路径长度概念        节点的带权路径长度        树的带权路径长度 2.构建哈夫曼树的步骤 3.构建哈夫曼树的完整代码 4.哈夫曼编码1.哈夫曼树的概念在正式

2020-06-22 21:37:51 39842 41

原创 一文搞定JS中的DOM基础与进阶

1.DOM简介 2.获取元素 3.创建元素 4.插入元素 5.删除元素 6.复制元素 7.替换元素 8.HTML属性操作(对象属性) 9.HTML属性操作(对象方法) 10.CSS属性操作 11.DOM遍历 12.innerHTML和innerText1.DOM简介节点和元素的概念解析:每一个元素是一个节点,每一个节点看成一个对象我们操作元素的时候实际上是把元素看成一个对象,然后对这个对象的属性和方法进行相关的操作节点是包含元素的每一个元素是一个节点,这个节点称为元素.

2020-06-22 17:55:55 5052 6

原创 JS重点语法及常用对象总结

1.JS简介 2.JS三种引入方式 3.JS语法基础 4.JS函数 5常用内置对象1.JS简介2.JS三种引入方式2.1外部引用法(推荐)外部JavaScript,指的是把HTML代码和JavaScript代码单独放在不同文件中,然后在HTML文档中使用“script标签”来引入JavaScript代码当一个script标签作为一个引入外部文件的标签那么就不能再在标签里边写js语句2.2内部引用法内部JavaScript,指的是把HTML代码和JavaScript代码放在同一.

2020-06-20 21:51:32 3904 1

原创 JDBC有这一篇就够了(万字JDBC附代码详解)

目录: 1.JDBC的本质 2.JDBC的使用步骤 3.DriverManager对象 4.Connectioin对象 5.Statement对象 6.ResultSet对象 7.JDBC工具类 1.JDBC的本质Java DataBase Connectivity(Java语言连接数据库)JDBC是SUN公司制定的一套接口(interface) 2.JDBC的使用步骤第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)第二步:获取连接(表示JVM的

2020-06-13 14:45:49 1471 10

原创 筛选法求素数

筛选法求素数要比普通的求素数方法更加快速,虽然在一些小范围内看不出多大差别,但是当范围大到一定程度,普通求素数的方法就会显得比较耗时,在做一些编程题的时候特别容易超时我们就拿1000以内的素数来说普通的方法(可能和我的不一样,但是都是按照定义来的,意思差不多)#include<iostream>using namespace std;int main(){ int a[2...

2020-06-12 20:31:54 1399

原创 我这么讲线索二叉树,我三岁大的表弟笑了笑

1.线索二叉树的由来1.线索二叉树的由来我问表弟下面的一个问题:在n个结点一个二叉链表中,有多少个空指针域?表弟一脸蒙蔽,于是我解释道:既然有n个结点,那么总共应该有2n个指针域,我们的根结点是无结点指向的,其他的结点肯定都有一个结点指向,也就是说一共用了n-1个指针域(根结点无结点指向所以需要减1),那么也就是说还有n+1个指针域没有使用,由此我们可以得出一个结论:任何一颗含n个结点的二叉树都有n+1个指针域是空指针域那么这么多的空指针域造成浪费 ,表弟你心疼不,表弟:管我屁事我:.

2020-06-10 16:38:56 1647 2

原创 循环队列之舞伴问题(含源码详解)

1.问题描述假设在周末舞会上,男士和女士进入舞厅,各自排成一队,跳舞开始时,依次从男队和女队的队头各出一人配成舞伴。若两队初始人数不相同,那么较长的那一对中未配对者等待下一轮舞曲,试写一种算法模拟上面的舞伴问题2.问题分析我们可以看出这是一个典型的队列问题,我们只需要把男士队和女士队看成队列,我们可以把男士和女士的信息都存储在一个数组中,再根据不同的性别存储到不同的队列中。然后开始给队列配对,当有一个队列为空的时候,另外一个队列有等待者,则输出队头等待者的姓名,此人将是下一个可以获得舞伴的人

2020-06-08 16:43:08 4203 2

原创 用栈实现括号匹配的检验

1.问题假设表达式中允许包含两种括号[ ]和( ),我们检验在表达式中是否是正确的格式,比如3+[3*(2-1)+1]是正确的格式,但是要是3+[(2+1])+1就不是正确的格式,那么我们如何进行检验呢2.算法实现步骤初始化一个空栈S设置一个标记性变量flag,用来标记匹配结果以控制循环及返回结果,1表示正确的匹配.表示错误的匹配,flag的初始值为1扫描表达式依次读入字符ch,如果表达式扫描完毕且flag非0,则循环执行以下操作若ch为‘[’或者‘(’则将其压入栈中若ch是‘)’则根

2020-06-08 10:32:21 2557

原创 前、中、后缀表达式概述及转换+栈的计算器原理及代码分析(含完整源码)

目录: 1.前中后缀表达式的概述及相互转换 2 3. 4. 5. 1.前中后缀表达式的概述及相互转换1.1前中后缀表达式的概述 前缀表达式:运算符位于操作数之前。 中缀表达式(波兰式):首先前中后缀表达式,一般正常写的(2*4-1)+5-6这种式子称为中缀表达式。 后缀表达式(逆波兰式):运算符位于操作数之前。 前缀和后缀表达式中是不含括号的1.2中缀表达式转前后缀表达式首先2. 3. 4. 5. 6. 7. 8. 9. ...

2020-06-07 13:11:45 1327 5

原创 用栈实现进制的转换

1.问题描述将一个十进制整数N转换成八进制,把N与8求余得到八进制数的各位依次进栈,计算完毕后将栈中的八进制依次出栈输出,输出的结果就是待求八进制数2.算法设计步骤初始化一个空栈把N与8求余得到的八进制数压入栈中分别把栈中的数一个一个输出出来3.代码详解#include<iostream>using namespace std;#define MAXSIZE 100#define SElemType int #define Status int #define O

2020-06-06 16:16:03 6761 2

原创 时隔七个月,我终于弄懂了汉诺塔的思想

目录 1.问题描述 2.汉诺塔的分析 3.博主的反思 4.代码详解博主在大一的上学期开学没多久看的汉诺塔,在看的过程中,很多地方似懂非懂,但是博主当时没有细品,便匆匆跳过,直到最近感觉自己递归学的不行便又复习一下,果然有了很多的收获 1.问题描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面

2020-06-06 15:17:25 1523 1

原创 线性表应用之线性表算法设计六大经典案例

目录: 1.有序表的概念 2.顺序有序表的合并 3.链式有序表的合并 4.不重复式合并 1.有序表的概念若线性表中的数据元素相互之间可以比较,并且数据元素在线性表中依值非递减或者非递增有序排列,则该线性表称为有序表2.顺序有序表的合并已知有两个有序集合A和B按照递增有序排列,现在有一个集合C =AUB,C也要按照递增有序排列,举例:A={3,5,8,11},B={2,6,8,9,11,15,20},那么C={2,3,5,6,8,8,9,11,11,15,20}代码实现:#i

2020-06-03 17:59:53 1231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除