- 博客(16)
- 收藏
- 关注
原创 07-图4 哈利·波特的考试(25 point(s))
题目位置 没有特色,照搬 floyd函数#include<stdio.h>typedef struct Graph *MGraph;struct Graph{ int G[100][100]; int size;};void CreatMGraph(MGraph Map);void floyd(MGraph Map);void findmin(MGraph Map);
2017-11-15 21:32:22
352
原创 06-图3 六度空间(30 point(s))
没有难度,只是使用了 BFS 和几个变量,解决了. 题目位置#include <stdio.h>#include <stdlib.h>#include <math.h>typedef struct Gnode *PtrToNext;typedef PtrToNext GraphNode;struct Gnode{int order;PtrToNext Next;}Graph[100
2017-11-06 15:20:56
757
原创 06-图2 Saving James Bond - Easy Version(25 point(s))
题目位置 只是一道图的抽象问题,没有难度.#include <stdio.h>#include <stdlib.h>#include <math.h>typedef struct Position *Crocodile;typedef struct Position *NodeCrocodile;struct Position{ int order; double x;
2017-11-05 15:49:39
225
原创 dfs与bfs
#include <stdio.h>#include <stdlib.h>typedef struct Gnode *PtrToNode;typedef PtrToNode LGraph;struct Gnode{ int Data; PtrToNode Next;}ListGraph[12];LGraph queue[100];int rear=-1;int fro
2017-11-05 11:43:52
170
原创 05-树9 Huffman Codes(30 point(s))
题目位置 哇撒 本来以为好难啊0 0 后来才发现 做法 题中都给出来了,简直狗血,,,, 分析: 首先0 0 什么样的是huffman tree 1.左右子树同时存在. 2.层数 越大,叶子结点的权值越大 3.不存在前缀编码 解决: 先构造一个正确的huffman tree ,然后计算出WPL. 以WPL为一个比对标准. 故评判一
2017-11-01 17:26:43
295
原创 05-树8 File Transfer(25 point(s))
题目位置看了老师的 各种骚操作0 0 路径压缩 和 秩的运算#include <stdio.h>#include <stdlib.h>#include <math.h>int *computer;int N;void Connection(int position,int connection);void Check(int position,int connection);void
2017-10-31 14:46:55
294
1
原创 04-树7 二叉搜索树的操作集(30 point(s))
题目位置 删除 很精髓Position FindMax( BinTree BST ){ BinTree B = BST; BinTree T; while(B){ T = B; B = B->Right; } return T;}Position FindMin( BinTree BST ){ BinTree B = BST;
2017-10-26 20:02:16
185
原创 04-树6 Complete Binary Search Tree(30 point(s))
题目位置 分析: 题目要求为:完美二叉树 + 搜索树 可以唯一确定一颗 二叉树。 因 涉及到完美二叉树 那题目就简单的 多的多了。 我们知道 搜索树的由来 是由 二分查找法 步骤图 而来,二分查找法的要求 是 必须用数组 存储 有序字符,我们还知道 完美二叉树也是可以通过数组进行存储,这个题说到这里,已经可以迎刃而解了。 完美二叉树 有 如下特点供我们使用:
2017-10-25 15:44:59
305
原创 04-树5 Root of AVL Tree(25 point(s))
题目位置 分析: 直接硬上:1、构造 判断树(解决插入问题)。 2、构造 后续遍历(解决 每一个指针的 平衡因子数的计算)。 3、通过判断树的平衡因子正负,进而可知 是ll,rr,lr,rl的哪一种。 4、 构造这4种选择方式。 5、在解决后进行 最后一次的
2017-10-24 20:20:54
238
原创 04-树4 是否同一棵二叉搜索树(25 point(s))
题目位置 分析:本来思考是否可以 通过不构成树,只通过 插入时 顺序,知道是否为,一颗查找树。 后来发现,这是不可以的,因为插入数据的不同,插入时的路径也不同,所以 没有相似之处。所以 选择 最笨的方法 实现这道题。 解决方法:构造查找树,实现插入方法。 【(通过层序遍历得顺序 知道是否为同一个查找树)赫然发现- - 这是不行的,除非对每一个地方进行判断。进行一次判断是不行的。】
2017-10-23 22:54:01
456
原创 中国大学MOOC-陈越、何钦铭-数据结构-2017秋03-树3 Tree Traversals Again(25 point(s))
题目位置 本题 提示为:使用了stack进行遍历。 我们知道使用stack 遍历的最基本思想是: 从左到右,从上到下,依次遍历。 每个节点经过三次。 根据题目所给信息可以观察出来, 通过push 我们发现 这是第一次经过每个结点(如果将其pop出,为先序遍历) 通过pop发现 这是第二次经过结点,(pop出,则为中序遍历) 题目要求给出后序遍历,通过前面的发先,我们可以很容易的找到经
2017-10-22 12:37:55
259
原创 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 03-树2 List Leaves(25 point(s))
通过编号 知道 它的 位置信息,但 因为不是完全二叉树,所以并不能判断 他具体位置。 通过 左 右 编号 知道 每一个节点的 左右子树是谁。 因题目要求从上到下,从左到右,很符合层序遍历。 层序遍历的方法为:创建队列,遍历树。(前提为知道树的根节点) 因root结点不存在于任何左右子树中。故排除可得根节点。 (通过 编号总数和 - 结点左右子树编号总数和 = 根节点位置) 问题:1
2017-10-21 16:57:16
278
原创 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 03-树1 树的同构(25 point(s))
题目位置 **通过编号 知道 它的 位置信息,但 因为不是完全二叉树,所以并不能判断 他具体位置。(但树根 知道具体位置) 通过 左 右 编号 知道 每一个节点的 左右子树是谁。 问题:1、不知道 节点的 父节点是谁** 通过分析,所给信息足够解决问题,估不解决问题1。 总结:1、strcmp 传参为 字符串 ,字符 直接用==比较,传参并且必须为地址 相等返回 0#
2017-10-21 15:29:15
228
原创 关于树的队列实现和堆栈实现的分析
首先是关于堆栈的实现1、实现后序遍历+先序遍历。#include <stdio.h>#include <stdlib.h>void InOrderTraversal(BinTree BT){ BinTree T BT; Stack S = CreatStrack(MaxSize); While(T || !IsEmpty(S))
2017-10-20 11:03:08
450
原创 中国大学MOOC-陈越、何钦铭-数据结构-2017秋 02-线性结构4 Pop Sequence
中国大学MOOC-陈越、何钦铭-数据结构-2017秋 02-线性结构4 Pop Sequence题目位置分析: 因pop 时,需要检查栈顶 是否和 要求匹配, No: 1、如不匹配 则push 元素,当元素都push完仍不匹配,则 输出no Yes: 当元素匹配完毕后 输出yes 因自己看,,所以参数命名很别扭,表示并不想改了…#include <stdio.h>#include <
2017-10-20 10:47:51
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人