请稍侯

[数据结构笔记]栈的基础知识

栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。 栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构 栈的插入操作,叫做进栈,也成压栈、入栈。 栈的删除操作,也叫出栈。 栈的抽象数据类型 ADT 栈(stack) Data 同线性表,元素具有相同的类型,相邻元素具有前驱和后继关系。 Operation // 初始化操作,建立一个空栈 // 销毁栈 // 清空栈 Push 若栈存在,插入新元素e到栈中并称为栈顶元素 Pop 删除栈中...

Read More

[数据结构笔记]队列的基础知识

队列的定义 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表 队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。 队列的抽象数据类型 ADT 队列(queue) Data 同线性表,元素具有相同的类型,相邻元素具有前驱和后继关系。 Operation // 初始化队列 // 若队列存在,销毁它 // 清空队列 // 插入元素 // 返回队列头元素 // 删除队列头元素 endADT

Read More

[数据结构笔记]队列-循环队列

前言 什么是循环队列? 我们把队列的这种头尾相接的顺序存储结构称为循环队列。 如何判断队列是空还是满? 首先定义2个指针, front 指向队头元素 rear 指向队尾元素的下一个位置 当队列为空时,front = rear 当队列为满时,我们修改其条件,保留一个元素空间。也就是说,当队列满时,数组中还有一个空闲单元。 通用的计算队列长度的公式为: (rear - front + maxSize) % maxSize java实现 我自己使用java代码进行了循环队列的实现,如果问题,欢迎留言指正。 import java.util.Arrays; /**...

Read More

[数据结构笔记]队列-队列的链式存储结构

前言 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出,我们把他简称为链队列。 java实现 使用java代码实现队列的链式存储结构,如果问题,欢迎留言指正。 /** * 队列的链式存储结构 * * @author xuhf * */ public class LinkedQueue { public static class Node { Object data; Node next; } Node front; Node rear; public void en(Node node) { if (r...

Read More

Web应用接口开发签名方式

背景 在进行接口开发时,需要对数据的安全性有一定的要求,尤其是在接口暴露在公网之下,为了防止传输时参数被篡改,我们使用签名sign的方式提高安全性。 接口参数签名sign 最初接触这种方式是在淘宝的支付宝接口上,淘宝的支付宝接口都采用的是这种方式,使用合作商户的key对参数进行签名。 生成sign的方法 将所有参数(sign和sign_type除外,有的时候特定的某一个参数也可以不参加签名,空值不参加签名)按照参数名的字母升序排序。 将参数值按照 参数名1=参数值1&参数名2=参数值2 的方式拼接成一个字符串 将密...

Read More

[数据结构笔记]线性表(二)

回顾 线性表的两种结构:顺序存储结构和链式存储结构。 顺序存储结构和链式存储结构的对比 静态链表 首先我们让数组的元素都是由2个数据域组成,data和cur。也就是说,数组的每个下标都对应一个data和cur。 数据域data用来存放数据元素。而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标。 我们把这种用数据描述的的链表叫做静态链表,这种描述方式也叫做游标实现法 循环链表 将单链表中终端结点的指针由空指针改为指向头结点,就使整个链表形成一个环, 这种头尾想接的单链表称为单循环链表,简称循环链表。 双向链表 双链表是在单链表的每个结点中,再设...

Read More

团队管理经验谈

说明 以下文章来自新浪微博。个人觉得讲的很好,没有那种空话、废话,更多的是深入我们内心。 记得面试的时候,面试官对我说,现在你看那些团队管理的书,学到是“术”, 但是作为一个刚刚入门的团队领导者,你更需要的是先把事情做好。 文章列表 问题与挑战 手段与生命周期 优秀团队 个人素养与人才培养 淬火成金

Read More

[数据结构笔记]线性表(一)

## 什么是线性表 线性表是零个或多个数据元素的有限序列。 线性表的抽象数据类型 ADT 线性表List Data 线性表的数据对象集合为{a1,a2,....,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个an外,每一个元素有且只有一个直接后续元素。数据元素之间的关系是一对一的关系。 Operation // 初始化 // 判断线性表是否为空 // 清空线性表 // 返回某个位置的元素 // 判断是否存在某个元素,返回其位置 // 插入元素 // 删除元素 // 放回线性表...

Read More

Unicode转汉字

前言 在项目里我们会遇到unicode需要转换成汉字的需求。留下代码供未来使用。 代码 import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UnicodeUtils { public static String decodeUnicode(String str) { Charset set = Charset.forName("UTF-16"); ...

Read More

[数据结构笔记]数据结构绪论

写在开始 上大学时,就没好好学习过数据结构,现如今工作了,才体会到数据结构对我们的好处。 感谢《大话数据结构》,让我有想法再把数据结构捡起来看看,还清当年的债。 争取在2015年5月份结束,将这本书看完。 概念 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。 数据项:一个数据元素可以由若干个数据项组成,是数据不可分割的最小单位。 数据对象:是性质相同的数据元素...

Read More