数据结构
magic_eye
这个作者很懒,什么都没留下…
展开
-
[Data_Structure notes]链栈的创建及相关操作
[Data_Structure notes]链栈的创建及相关操作本篇主要记录学习数据结构的一些笔记,以及一些个人思考。参考书是《数据结构与算法分析(c语言描述)》(机械工业出版社)#include<stdio.h>#include<stdlib.h>typedef struct Node{ Elementtype data; struct No...原创 2019-07-08 20:09:56 · 174 阅读 · 2 评论 -
[Data Structure]图的建立与遍历(c语言)
图的建立与遍历原创 2019-08-22 18:10:25 · 1584 阅读 · 1 评论 -
【DS_PRACTICE】Tree Travesal Again(c语言)
这题我又做了好久,真是菜。这题我觉得关键是明白为什么要用先序中序后序的首位进行相关运算。比如我一开始找规律,是想用一个begin,一个end,来标识出两棵需要递归求解的树。而这里的begin对应的是前序遍历的开头的数组,而end则对应的是后序遍历的末尾。然后这样牛头不对马嘴的乱找规律于是就出bug了。后来也是在网上看到了别人的解法,又听了cy姥姥的课,懂得怎么写出来,但是对于为什么这题采用三个参...原创 2019-08-16 00:09:59 · 159 阅读 · 0 评论 -
[DS PRACTICE]树的同构
数的同构,其实并不难。在离散数学中,判断数的同构时,只需判断两棵树的各个节点之间能否形成一一对应关系。而对于计算机中的实现,就要比人的判断方法笨一些,programmer需要考虑各种情况,比如都为空树,或者有一边子树为空,采用递归的方法是一种很有效的判断树是否同构的方法。今天,我并没有采用昨天打印叶子一样,用了一堆全局变量,因为今天终于理清楚了怎么传指针才能修改变量。(捂脸原创 2019-07-19 15:32:43 · 467 阅读 · 0 评论 -
[DS_PRACTICE]List Leaves
这道题是浙江大学mooc上的一道题,我初学数据结构,对树的建立与遍历还有很多不熟悉的地方。因此做这道题,我写代码花了3h,debug2h,但是总归是值得的。很多时候当我做完难题,突然觉得也不过如此。List LeavesGiven a tree, you are supposed to list all the leaves in the order of top down, and left...原创 2019-07-18 21:22:21 · 151 阅读 · 0 评论 -
[Data_Structure]二叉树的建立存储
对于二叉树,我认为以下几点时要注意的:1、第一点是二叉树的一些概念要弄明白,比如二叉树的高度和深度,高度是从下往上数的,而深度是从上往下数的;还有比如完全二叉树和满二叉树(完美二叉树)的定义,都是一些非常重要的概念,完美二叉树每一个节点都有两个儿子,一直到最后的叶节点;而完全二叉树的最后一层,可以从完美二叉树的最后一层从右边删去一些叶节点。也就是对满二叉树编号1.2.3…100,而完全二叉树中的...原创 2019-07-10 22:01:23 · 320 阅读 · 0 评论 -
[Data_Structure]循环数组实现队列的相关操作
这是我第二篇关于数据结构的笔记。我觉得循环数组实现队列的一些值得注意的地方是:1、队列是由入队和出队的操作的,每一次出队,指向数组的“头指针”Front都会向后移动一位,这时就会有大量的空间空余,因而可以通过循环数组来实现空间的有效利用。循环数组是什么意思呢,就是当队列的“尾指针”Rear的大小超过队列的最后一位,那么进行判断这个队列是否为满,如果这个队列没满,就可以将Rear移动到数组的最前面...原创 2019-07-09 21:21:01 · 116 阅读 · 1 评论 -
[DS_PRATICE]列出连通集(c语言)
话不多说,先放题目。给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照"{ v1 v2… vk ...原创 2019-08-22 23:08:02 · 392 阅读 · 0 评论