自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

  • 博客(23)
  • 论坛 (1)
  • 收藏
  • 关注

原创 皇后问题

八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n1×n1,而皇后个数也变成n2。而且仅当 n2 ≥ 1 或 n1 ≥ 4 时问题有解。皇后问题是非常著名的问题,作为一个棋盘类问题,毫无疑...

2018-11-29 15:44:55 13428 111

原创 commons-lang常用方法

maven引入 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>跟...

2018-11-28 10:41:21 676

原创 根据数组建立平衡二叉搜索树

它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉(搜索)树。 二分:用有序数组中中间的数生成搜索二叉树的头节点,然后对数组的左右部分分别生成左右子树即可(重复过程)。生成的二叉树中序遍历一定还是这个序列。 非常简单,不过多叙述:public class SortedArrayToBalancedBST { public sta...

2018-11-26 21:10:11 2040

原创 《Head First设计模式》读书笔记_第一章

策略模式例:设计一个模拟鸭子游戏,游戏中有各种鸭子,一边戏水一边嘎嘎叫。所以学习设计模式前,我们最先想到的就是设置一个超类,并让其他子类去继承这个类,UML图如下:**但是,程序需求是会经常变动的,若给游戏中加入飞行方法以及玩具小黄鸭呢?并不是所有鸭子都可以飞,也并不是所有鸭子都是嘎嘎叫。此时你可能会想,在父类添加相应方法,在子类重写就可以让不同鸭子的同一方法具有不同表...

2018-11-26 17:57:03 5630

原创 jquery选择器

基本选择器基本选择器标签选择器 $("a") ID选择器 $("#id") $("p#id")类选择器 $(".class") $("h2.class")通配选择器 $("*")并集选择器$("elem1,elem2,elem3")后代选择器$(ul li) 父子选择器 $(ul>li) 后面第一个兄弟元素 prev + next后面所有的兄弟元...

2018-11-26 17:54:04 1987 1

原创 二叉树序列化/反序列化

二叉树被记录成文件的过程,为二叉树的序列化通过文件重新建立原来的二叉树的过程,为二叉树的反序列化设计方案并实现。(已知结点类型为32位整型) 思路:先序遍历实现。因为要写入文件,我们要把二叉树序列化为一个字符串。首先,我们要规定,一个结点结束后的标志:“!”然后就可以通过先序遍历生成先序序列了。 但是,众所周知,只靠先序序列是无法确定一个唯一的二叉树的,原因...

2018-11-26 17:49:30 1483

原创 数据结构课上笔记14

图是一种:   数据元素间存在多对多关系的数据结构   加上一组基本操作构成的抽象数据类型。图 (Graph) 是一种复杂的非线性数据结构,由顶点集合及顶点间的关系(也称弧或边)集合组成。可以表示为: G=(V, VR)   其中 V 是顶点的有穷非空集合; VR 是顶点之间   关系的有穷集合,也叫做弧或边集合。弧是顶点的有序对,边是顶点的无序对。 特点:(相对于线性结构...

2018-11-25 20:49:08 1547

原创 数据结构课上笔记13

树存储结构 父节点表示法 数据域:存放结点本身信息。双亲域:指示本结点的双亲结点在数组中的位置。对应的树:/* 树节点的定义 */#define MAX_TREE_SIZE 100 typedef struct{ TElemType data; int parent; /* 父节点位置域 */} PTNode; typedef st...

2018-11-23 16:09:55 1239

原创 数据结构课上笔记12

二叉树的存储结构  顺序存储结构 完全二叉树:用一组地址连续的 存储单元依次自上而下、自左至右存 储结点元素,即将编号为 i  的结点元 素存储在一维数组中下标为 i –1 的分量中。一般二叉树:将其每个结点与完 全二叉树上的结点相对照,存储在一 维数组的相应分量中。 最坏情况:树退化为线性后:我们要把它“变”成这个大家伙来存了:深度为 k 的且只 有 ...

2018-11-23 14:51:52 1247

原创 数据结构课上笔记11

满二叉树 (Full binary tree)除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。国外(国际)定义:a binary tree T is full if each node is eit...

2018-11-23 14:25:16 1301

原创 先序中序数组推后序数组

二叉树遍历所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:⑴访问结点本身(N),⑵遍历该结点的...

2018-11-22 15:59:39 1329

原创 先序中序后序两两结合重建二叉树

遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。设L、D、R分别表示遍历左子树、访问根结点和遍历右子树, 则对一棵二叉树的遍历有三种情况:DLR(称为先根次序遍历),LDR(称为中根次序遍历),LRD (称为后根次序遍...

2018-11-21 16:16:04 1384 2

原创 求完全二叉树的结点个数

第一次见这个题,看时间小于O(N)。。。。。只能是二分啊。但是怎么二分,条件是什么,真的想不到。 后来知道了,我们要找最深一层最右边那个结点。借此确定结点个数。 我们知道,满二叉树的结点个数和深度是有公式的,那么我们找到最后一层最右边的结点,其实就可以确定结点个数。目标:找箭头指向的结点。 我们采用二分法:1)找到右子树的最左结点如果右子树深...

2018-11-20 11:05:11 2408

原创 判断平衡二叉树

平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1。并且左右两个子树都是一棵平衡二叉树(不是我们平时意义上的必须为搜索树)判断一棵树是否为平衡二叉树: 可以暴力判断:每一颗树是否为平衡二叉树。 分析:如果左右子树都已知是平衡二叉树,而左子树和右子树高度差绝对值不超过1,本树就是平衡的。 为此...

2018-11-19 21:05:25 1255

原创 判断二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 判断某棵树是否为二叉搜索树 单纯判断每个结点比左孩子大比右孩子小是不对的。如图:1...

2018-11-19 20:42:11 1078

原创 判断完全二叉树

完全二叉树的定义: 一棵二叉树,除了最后一层之外都是完全填充的,并且最后一层的叶子结点都在左边。https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91/7773232?fr=aladdin百度定义 思路:层序遍历二叉树如果一个结点,左右孩子都不为空,则pop该节点,将其左右孩子入队列...

2018-11-19 17:47:33 5136 25

原创 二叉树最长路径

分析:暴力求每一段距离也可。 对于以本节点为根的二叉树,最远距离有三种可能:1)最远路径来自左子树2 )最远路径来自右子树(图示与左子树同理)3)最远路径为左右子树距离根最远的两个节点,经过根结点连起来。(多种最长路径) 需要的信息:1)左子树的最远路径长度2)右子树的最远路径长度3)左右子树的深度(深度即最远节点) 定义结点:...

2018-11-19 17:22:27 3275

原创 最大搜索子树

给定一个二叉树的头结点,返回最大搜索子树的大小。 我们先定义结点: public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data; } }分析:直接判断每个...

2018-11-19 15:36:51 1196

原创 数据结构课上笔记10

树 树的定义:树(Tree)是 n(n≥0)个结点的有限集。若 n=0,称为空树;若 n &gt; 0,则它满足如下两个条件:  (1)  有且仅有一个特定的称为根 (Root) 的结点;  (2)  其余结点可分为 m (m≥0) 个互不相交的有限集 T1, T2, T3, …, Tm, 其中每一个集合本身又是一棵树,并称为根的子树 (SubTree)。显然,树的定义是一个递...

2018-11-09 17:09:25 1082

原创 串的堆分配实现

今天,线性结构基本就这样了,以后(至少是最近)就很少写线性基础结构的实现了。串的类型定义typedef struct{    char *str;    int length;}HeapString;初始化串InitString(HeapString *S){    S-&gt;length=0;    S-&gt;str='\0';}长度int S...

2018-11-08 15:50:23 1257

原创 数据结构课上笔记9

数组:按一定格式排列起来的具有相同类型的数据元素的集合。 二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。 同理,推广到多维数组。若 n -1 维数组中的元素又是一个一维数组结构,则称作 n 维数组。 声明格式:数据类型   变量名称[行数] [列数] ; 实现:一般都是采用顺序存储结构来表示数组。 二维数组两种顺序存储方式:以行序为主序 (低下标...

2018-11-07 21:22:05 1311

原创 数据结构课上笔记8

串的概念:串(字符串):是由 0 个或多个字符组成的有限序列。 通常记为:s =‘ a1 a2 a3 … ai …an  ’ ( n≥0 )。串的逻辑结构和线性表极为相似。 一些串的类型: 空串:不含任何字符的串,长度 = 0。空格串:仅由一个或多个空格组成的串。子串:由串中任意个连续的字符组成的子序列。主串:包含子串的串。位置:字符在序列中的序号。子串在主...

2018-11-07 21:07:34 1599

原创 动态规划基础水题提纲

提纲汉诺塔汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 动态规划:1) 问题具有最优子结构性质。如果问题的最优解所包含的 子问题的...

2018-11-04 16:15:13 891

空空如也

hebtu666的留言板

发表于 2020-01-02 最后回复 2020-07-14

空空如也

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

TA关注的人 TA的粉丝

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