hebtu666

少说,多做。

皇后问题

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

2018-11-29 15:44:55

阅读数 2082

评论数 3

安装python3教程

因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。 要开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python...

2018-11-28 10:41:21

阅读数 102

评论数 0

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

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

2018-11-26 21:10:11

阅读数 464

评论数 0

CSDN Markdown帮助

Markdown帮助 # 欢迎使用Markdown编辑器写博客 --------------------------- 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题...

2018-11-26 17:57:03

阅读数 167

评论数 0

CSDN积分和排名规则

博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下: 1、每发布一篇原创或者翻译文章:可获得10分; 2、每发布一篇转载文章:可获得2分; 3、博主的文章每被评论一次:可获得1分; 4、每发表一次评论:可获得1分(自己给自...

2018-11-26 17:54:04

阅读数 644

评论数 1

二叉树序列化/反序列化

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

2018-11-26 17:49:30

阅读数 561

评论数 0

数据结构课上笔记14

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

2018-11-25 20:49:08

阅读数 653

评论数 0

数据结构课上笔记13

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

2018-11-23 16:09:55

阅读数 449

评论数 0

数据结构课上笔记12

二叉树的存储结构    顺序存储结构   完全二叉树:用一组地址连续的 存储单元依次自上而下、自左至右存 储结点元素,即将编号为 i  的结点元 素存储在一维数组中下标为 i –1 的分量中。 一般二叉树:将其每个结点与完 全二叉树上的结点相对照,存储在一 维数组的相应分量中。   ...

2018-11-23 14:51:52

阅读数 447

评论数 0

数据结构课上笔记11

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

2018-11-23 14:25:16

阅读数 459

评论数 0

先序中序数组推后序数组

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

2018-11-22 15:59:39

阅读数 394

评论数 0

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

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

2018-11-21 16:16:04

阅读数 416

评论数 0

求完全二叉树的结点个数

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

2018-11-20 11:05:11

阅读数 341

评论数 0

判断平衡二叉树

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

2018-11-19 21:05:25

阅读数 448

评论数 0

判断二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。  ...

2018-11-19 20:42:11

阅读数 147

评论数 0

判断完全二叉树

完全二叉树的定义: 一棵二叉树,除了最后一层之外都是完全填充的,并且最后一层的叶子结点都在左边。 https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91/7773232?fr=aladdin 百度定义...

2018-11-19 17:47:33

阅读数 457

评论数 0

二叉树最长路径

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

2018-11-19 17:22:27

阅读数 461

评论数 0

最大搜索子树

给定一个二叉树的头结点,返回最大搜索子树的大小。   我们先定义结点: public static class Node { public int value; public Node left; public Node right; public Node(in...

2018-11-19 15:36:51

阅读数 431

评论数 0

数据结构课上笔记10

树   树的定义:树(Tree)是 n(n≥0)个结点的有限集。若 n=0,称为空树;若 n > 0,则它满足如下两个条件:   (1)  有且仅有一个特定的称为根 (Root) 的结点;   (2)  其余结点可分为 m (m≥0) 个互不相交的有限集 T1, T2...

2018-11-09 17:09:25

阅读数 115

评论数 0

串的堆分配实现

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

2018-11-08 15:50:23

阅读数 375

评论数 0

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