![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 73
yh_cheer
这个作者很懒,什么都没留下…
展开
-
【数据结构笔记】三、树与二叉树
课程是中国大学MOOC浙江大学出的数据结构。 作为一个数据结构爱好者,我觉得很有必要稍微整理下各章节的笔记,对知识进行梳理。 首先,老师从“查找”入手,查找分为静态和动态,演示了静态查找的例程,并介绍了‘建立哨兵’的思想。而这个例程使用的是普通的顺序查找,因为其低效性,我们又引入了二分查找(Binary Search)。 二分查找,条件有二:①本身是有序的②在数组里实现。他的时间复杂度比顺序查原创 2017-09-23 00:09:20 · 305 阅读 · 0 评论 -
【数据结构笔记】四、树的应用
树的应用按考纲来看的话: 1.二叉排序树 2.堆结构 3.哈夫曼(Huffman)树和哈夫曼编码 而刚好这节课刚好都讲到了。 首先,先讲 二叉排序树 也叫二叉查找树/二叉搜索树 BST,Binary Search Tree 主要特性是:左<中<右 一些用的到的特殊函数: ①Position Find(Elemtype X,BinTree BST) //查找值为X的位置,返回地址原创 2017-09-23 23:26:12 · 886 阅读 · 0 评论 -
【数据结构专题】线性表之顺序表
最近在准备考研,博客的更新没有没有保障。学习了一点数据结构,但书中多为伪码体现,看了几遍后仍体会不到其精要,私以为实践才是最好的老师,so打算开坑,用C++实现各个专题内容。 除去一些算法基础知识及C/C++入门知识,首先便是线性表。线性表一般分顺序表和链表。今天主要先来实现下顺序表的初始化、创建、查找、插入、删除。下列程序笔者在code block运行成功 #include <cstd原创 2017-09-18 16:25:37 · 541 阅读 · 0 评论 -
【数据结构专题】线性表之单链表
对比了好几本书,比较少涉及单链表的赋值,为了亲自跑出其他功能,花了不少时间,毕竟是打基础嘛,相信以后会越来熟练(你为什么那么熟练,明明是我先~)话不多说,下面是代码及实验结果。 #include <cstdio>#include <cstdlib>#define ElementType int#define MAXSIZE 1000#define ERROR -1/*线性表-顺序原创 2017-09-19 00:06:53 · 390 阅读 · 0 评论 -
【数据结构练习】1.最大子列问题
后面会不定期把通过的PTA源码搬到博客上,记录自己学习数据结构的历程,我是数据结构爱好者~一开始一直考虑负数的情况想直接写进子函数里,后来干脆直接写在main里作为特例,总之写的有点乱。题目来自 浙江大学数据结构MOOC PTA 01-复杂度2 Maximum Subsequence Sum(25 分) Given a sequence of K integer { N1, N2, …原创 2017-09-19 22:47:45 · 281 阅读 · 0 评论 -
【数据结构练习】2.两个有序链表序列的合并
02-线性结构1 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { E原创 2017-09-19 22:57:05 · 1092 阅读 · 1 评论 -
【剑指offer】面试题55:平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路递归判断每个节点的深度是否满足平衡二叉树的要求,即左右子树的高度差不超过1。注意点递归:从上往下递归会造成重复计算影响效率,可以通过后序遍历从下往上解决。剪枝:一旦有结点判断出不是平衡二叉树,则不必再判断后续未处理的结点,直接返回结果。解题步骤递归计算结点的深度,从最左下的结点开始判断,如果不满足平衡二叉...原创 2019-03-29 14:24:12 · 254 阅读 · 0 评论