![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Geek_of_csdn
是菜就要认,挨打要立正。一个奋斗的菜鸟,目前在深圳某公司工作。本账号下所有上传的资料都可以直接通过邮箱免费索要,邮箱地址:dianxin2wu@foxmail.com
展开
-
数据结构笔记(4)——树(主要是关于二叉树)
这次讲讲树。首先上定义:树的定义要注意的是:只有一个根结点(最顶上的那个结点)子树不相交如上图所示,这就是子树相交的情况。结点分类结点之间关系双亲是因为结点雌雄同体,同时是父亲也是母亲。层树的层(level)的概念是从根开始定义的,根是第一层,根的孩子为第二层,如此类推。此外,如果将树中结点的子树看成从左至右有次序,不能互换,那么称为有序树,否则称为无序树。...原创 2019-10-30 17:28:45 · 538 阅读 · 0 评论 -
数据结构笔记(2)——静态链表
其实这篇文章不是什么重点内容,如果前面的链表理解了可以直接跳过不看。当语言不直接或者间接提供指针的时候就需要使用静态数组了。其实最核心的思想就是用数组来代替指针,具体做法如下。首先这里使用的数组是结构体数组,数组元素有两个元素域,data和cur,前者存放数据,后者相当于单链表中的next指针,指示下一个地址或者说数组下标。#define MAXSIZE 1000typedef struc...原创 2019-08-13 15:21:25 · 247 阅读 · 0 评论 -
数据结构笔记(3)——循环链表与双向链表
循环链表在介绍概念之前先说一下需求,假设你已经有了这么个链表:你现在的指针指向了3,但是你的任务是遍历一遍整个链表(例如要计算链表的长度),但是这是一个单项链表,所以只能够重新从头结点/第一个元素开始遍历。这时候我们回想,如果能够直接从3开始,遍历到5,然后再遍历剩下的元素(1和2)就好了。所以,我们需要一个能够指向回头结点的指针,构成一个循环链表:指回到头结点,那么当我们遍历到结点...原创 2019-08-13 17:16:40 · 1075 阅读 · 3 评论 -
数据结构笔记(1)——顺序存储结构与单链表存储结构
其实之前的C笔记都是为了这个服务的。。。原来还打算总结下结构体的,结果发现自己已经写了,就懒得重新写了。在说线性表之前先说下算法的特性、要求、复杂度等概念。一些概念算法的五大特性有穷性:可以在有穷(指可接受的长度)时间内完成。确定性:就是能通过确定输入确定输出。可行性:算法中操作可以通过已经实现的基本运算执行有限次来实现输入:有0个或者多个输出:一个或者多个...原创 2019-08-11 20:45:14 · 664 阅读 · 0 评论