自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 十、分享一道LeetCode较为简单的单链表题,但是却能激发起练习算法的极大的兴趣

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值1.今天在LeetCode练习一道单链表的题(题目如上),虽然不难,但是却极大的触动了我学习算法的兴趣。因为当你看到大神的解法时,你真的是一种兴奋的拍桌子的感觉,不禁反思为什么人家可以想到这么优秀的解法。当然希望那些和我一样的算法小白在看到这篇博客时,也能有一种好好学习算法的冲动。下面将我写的算法,与大神的算法做对比。2.我的算法思想是:首先遍历一次单链表,得到该但单链表的长度length,之后再利用一个循环遍历到length-k处,这样就得

2021-01-30 22:04:14 59

原创 九、中缀表达式转为后缀表达式

使用栈将中缀表达式转为后缀表达式并计算一、中缀表达式转换为后缀表达式由于后缀表达式适合计算式进行计算,但是人对于较长的中缀表达式,很难将中缀表达式直接转换为后缀表达式,于是我们使用栈来实现中缀表达式转成后缀表达式。二、 中缀表达式转后缀表达式的分析步骤1.初始化两个栈:运算符栈S1和存储中间结果的栈S22.从左到右扫描中缀表达式3.遇到操作数时,将其压入S2中4.遇到运算符时,比较其与S1栈顶符号的优先级4.1)如果S1为空或者栈顶运算符为“(”,则直接将此运算符压入栈中4.2)否则,若优

2021-01-25 18:05:01 425

原创 八、逆波兰计算器的分析与实现

逆波兰计算器的分析与实现一、案例1.输入一个逆波兰表达式(后缀表达式),使用栈(Stack), 计算其结果2.例如: (3+4)×5-6 对应的后缀表达式就是 3 4 + 5 × 6 - , 针对后缀表达式求值步骤如下:1)从左到右扫描表达式,将3和4压入栈中2)遇到+运算符,因此弹出3和4(4位栈顶元素,3为次顶元素),计算出3+4的值,得到7,再将7压入栈中3)往后继续遍历,遇到5,将5入栈4)接下来是x运算符,因此弹出5和7,计算出7x5=35,并将结果35入栈5)将6入栈6)最后是

2021-01-22 22:32:19 115

原创 Redis基础

Redis1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为

2021-01-21 22:36:22 56

原创 Ajax基础和Json基础

AJAX:1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更

2021-01-21 11:47:41 63

原创 七、使用栈实现综合计算器(中缀表达式)

使用栈实现综合计算器(中缀表达式)1.栈的实际需求请输入一个表达式,计算式:[722-5+1-5+3-3] ,计算出结果计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就是一个字符串),我们讨论的是这个问题。-> 栈2.使用栈实现表达式计算的大致思路(详细思路见代码)(1)创建一个临时变量index索引,来遍历表达式;并创建两个栈空间,一个数栈,一个符号栈。(2)从前往后

2021-01-20 23:08:13 211

原创 六、使用数组模拟栈的思路及代码实现

使用数组模拟栈的实现过程1.栈的介绍(1) 栈的英文为(stack)(2) 栈是一个先入后出(FILO-First In Last Out)的有序列表。(3) 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的 一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。(4) 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元 素最先删除,最先放入的元素最后删除(5)

2021-01-20 18:32:09 167

原创 JQuery 的部分高级语法

JQuery 高级1. 动画 1. 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000) 2. easing:用来指定切换效果,默认是"swing",可用参数"linear" * swing:动画执行时效果是 先慢,中间快,最后又慢 *

2021-01-19 23:01:47 96 1

原创 JQuery基础语法

JQuery 基础:1. 概念: 一个JavaScript框架。简化JS开发 * jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。 * JavaScrip

2021-01-19 21:46:11 87

原创 五、单向环形链表---实现约瑟夫(Josephu)问题

使用单向环形链表实现约瑟夫(Josephu)问题1.约瑟夫(Josephu)问题描述Josephu 问题为:设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由此 产生一个出队编号的序列。2.小提示用一个不带头结点的循环链表来处理 Josephu 问题:先构成一个有 n 个结点的单循环链表,然后由 k 结点起从 1 开 始计数,

2021-01-19 19:20:48 408

原创 四、双向链表的操作分析和代码实现

双向链表1.双线链表的定义和引入引入:单链表的缺点:(1)单向链表查找的方向只能是一个方向,而双向链表可以双向查找(2)单向链表不能自我删除,需要靠辅助节点 ,而双向链表,则可以自我删除综上我们可以引入双向链表**定义:**双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。2.双向链表增删改查的核心操作分析注意:在执行添加和删除操作时要判断当前结点是否为最后一个结点(

2021-01-15 19:33:48 141 1

原创 多表查询&事务&DCL权限管理

多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY

2021-01-15 14:12:40 82

原创 三、单链表增删改查原理和代码实现

单链表1.简单介绍(1)单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。(2)链表的各个节点不一定是连续存储(3)链表分为带头结点的链表和不带头结点的链表,在实际中根据需求来确定2.单链表的应用实例使用带 head 头的单向链表实现 –水浒英雄排行榜管理完成对英雄人物的增删改查操作注:在执行添加操作时

2021-01-14 17:39:57 400

原创 DQL查询语句&&约束&&数据库设计&&备份和还原

DQL:查询语句1. 排序查询 * 语法:order by 子句 * order by 排序字段1 排序方式1 , 排序字段2 排序方式2... * 排序方式: * ASC:升序,默认的。 * DESC:降序。 * 注意: * 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。2. 聚合函数:将一列数据作为一个整体,进行纵向的计算。 1. count:计算个数 1. 一般选择非空的列:主键 2. count(*) 2. max:计算最大值 3.

2021-01-13 21:47:36 86

原创 数据库基础

数据库基础SQL1.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。 2.SQL通用语法 1. SQL 语句可以单行或多行书写,以分号结尾。 2. 可使用空格和缩进来增强语句的可读性。 3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 4. 3 种注释 * 单行注释: -- 注释内容 或 # 注释内容(mysql 特有)

2021-01-13 20:57:32 87

原创 二、数组模拟环形队列思路及代码实现

队列总:我首先会介绍数组模拟队列思路及代码实现,并分析其弊端;之后将代码进行优化,将其转换为数组模拟环形队列。1.队列介绍(1)队列是一个有序列表,可以使用数组或者链表来实现(2)遵循先入先出的原则:即先存入队列的数据会先被取出,后被存入的数据后被取出。2.数组模拟队列思路(1)队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的申明如下图,其中maxSize是该队列的最大容量(2)因为队列的输入输出是从前后端来处理,因此需要两个变量front和rear分别记录队列前后端的下标,

2021-01-13 18:48:33 209

原创 一、稀疏数组的实际应用和代码实现

稀疏数组1.实际需求使用二维数组记录棋盘2.分析问题因为二维数组中的很多值都是默认值0,因此记录了很多没有意义的数据,由此我们引出稀疏数组3.稀疏数组的基本介绍(1)当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。(2)稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模4.稀疏数组举例说明5.二维数组转换成稀疏数组的思路1.遍历整个二维数组得到有效数据的个数为su

2021-01-12 16:46:02 136

空空如也

空空如也

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

TA关注的人

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