随笔分类 -  数据结构

摘要:题目描述 代码框架如下: 代码框架如下: 输入 第一行输入t,表示有t个测试实例 第二行输入n,表示第1个图有n个结点 第三行起,每行输入邻接矩阵的一行,以此类推输入n行 第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开 以此类推输入下一个示例 第一行输入t,表示有t个测试实例 阅读全文
posted @ 2019-01-04 21:50 GXLiu 阅读(428) 评论(0) 推荐(0)
摘要:DS图遍历--深度优先搜索 题目描述 给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始 注意:图n个顶点编号从0到n-1 代码框架如下: 给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始 注意:图n个顶点编号从0到n-1 代码框架如下: 输入 第一行输入t,表示有t个测试实例 第二行 阅读全文
posted @ 2019-01-04 21:49 GXLiu 阅读(1254) 评论(0) 推荐(0)
摘要:题目描述 已知一有向图,构建该图对应的邻接表。邻接表包含数组和单链表两种数据结构,其中每个数组元素也是单链表的头结点,数组元素包含两个属性,属性一是顶点编号info,属性二是指针域next指向与它相连的顶点信息。单链表的每个结点也包含两个属性,属性一是顶点在数组的位置下标,属性二是指针域next指向 阅读全文
posted @ 2019-01-04 21:29 GXLiu 阅读(577) 评论(0) 推荐(0)
摘要:假设string对象str的长度为4 那么不可以操作str[4]是越界的,与char *str不同 str[4]的值是'\0' 阅读全文
posted @ 2019-01-04 16:53 GXLiu 阅读(100) 评论(0) 推荐(0)
摘要:题目描述 1、问题描述 给定n个字符及其对应的权值,构造Huffman树,并进行huffman编码和译(解)码。 构造Huffman树时,要求左子树根的权值小于、等于右子树根的权值。 进行Huffman编码时,假定Huffman树的左分支上编码为‘0’,右分支上编码为‘1’。 2、算法 构造Huff 阅读全文
posted @ 2019-01-04 16:51 GXLiu 阅读(511) 评论(0) 推荐(0)
摘要:题目描述 给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构 二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径,每条路径的权值等于路径上所有结点的权值和。编程求出二叉树的最大路径权值。如下图所示,共有4个叶子即有 阅读全文
posted @ 2019-01-04 15:11 GXLiu 阅读(615) 评论(0) 推荐(0)
摘要:题目描述 计算一棵二叉树的带权路径总和,即求赫夫曼树的带权路径和。 已知一棵二叉树的叶子权值,该二叉树的带权案路径和APL等于叶子权值乘于根节点到叶子的分支数,然后求总和。如下图中,叶子都用大写字母表示,权值对应为:A-7,B-6,C-2,D-3 树的带权路径和 = 7*1 + 6*2 + 2*3 阅读全文
posted @ 2019-01-04 13:19 GXLiu 阅读(800) 评论(0) 推荐(0)
摘要:题目描述 给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构。 编写程序输出该树的所有叶子结点和它们的父亲结点 给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树 阅读全文
posted @ 2019-01-03 23:33 GXLiu 阅读(640) 评论(0) 推荐(0)
摘要:题目描述 计算一颗二叉树包含的叶子结点数量。 左叶子是指它的左右孩子为空,而且它是父亲的左孩子 提示:可以用三叉链表法,也可以用现有算法对两层结点进行判断 建树方法采用“先序遍历+空树用0表示”的方法 计算一颗二叉树包含的叶子结点数量。 左叶子是指它的左右孩子为空,而且它是父亲的左孩子 提示:可以用 阅读全文
posted @ 2019-01-03 22:19 GXLiu 阅读(722) 评论(0) 推荐(0)
摘要:题目描述 计算一颗二叉树包含的叶子结点数量。 提示:叶子是指它的左右孩子为空。 建树方法采用“先序遍历+空树用0表示”的方法,即给定一颗二叉树的先序遍历的结果为AB0C00D00,其中空节点用字符‘0’表示。则该树的逻辑结构如下图。 输入 第一行输入一个整数t,表示有t个测试数据 第二行起输入二叉树 阅读全文
posted @ 2019-01-03 22:08 GXLiu 阅读(629) 评论(0) 推荐(0)
摘要:题目描述 给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构,并输出该二叉树的先序遍历、中序遍历和后序遍历结果 输入 第一行输入一个整数t,表示有t个二叉树 第二行起输入每个二叉树的先序遍历结果,空树用字符‘0’表示,连续 阅读全文
posted @ 2019-01-03 21:58 GXLiu 阅读(618) 评论(0) 推荐(0)
摘要:二叉树可以采用数组的方法进行存储,把数组中的数据依次自上而下,自左至右存储到二叉树结点中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点就在数组中用0来表示。,如下图所示 从上图可以看出,右边的是一颗普通的二叉树,当它与左边的完全二叉树对比,发现它比完全二叉树少了第5号结点,所以在数组中用0表示 阅读全文
posted @ 2019-01-03 20:57 GXLiu 阅读(493) 评论(0) 推荐(0)
摘要:对于形参来说传指针或者引用可以改变它的内容,指针传递只是传了一个地址copy, 在函数内部改变形参所指向的地址,不能改变原实参指向的地址,仅可以通过修改形参地址的内容,来达到修改实参内容的目的(原C语言中的通过指针来互换值小函数例子),所以如果想通过被调函数来修改原实参的地址或给重新分配一个对象都是 阅读全文
posted @ 2019-01-03 16:44 GXLiu 阅读(955) 评论(0) 推荐(0)
摘要:二叉排序树的创建 首先定义树节点treeNode:包含节点的值value 以及其左右孩子指针left right 定义二叉排序树Tree:包含根节点Root,节点个数num,以及构造函数(创建树)、中序遍历(输出排序结果)、插入和删除函数 18.设二叉排序树中关键字由1至1000的整数构成,现要查找 阅读全文
posted @ 2019-01-03 09:51 GXLiu 阅读(808) 评论(0) 推荐(0)
摘要:插入排序 非常简单的排序算法,时间复杂度为O(n2),是稳定的排序算法 9.在下列算法中,( )算法可能出现下列情况:在最后一趟开始之前,所有的元素都不在其最终的位置上。 A)堆排序 B)冒泡排序 C)插入排序 D)快速排序 【答案】C 【解析】在插入排序中,如果待排序列中的最后一个元素其关键字值为 阅读全文
posted @ 2019-01-03 08:06 GXLiu 阅读(1806) 评论(0) 推荐(0)