数据结构——自学笔记一

前言

讲到数据结构,就会想到程序 = 数据结构 + 算法这个等式,因为算是跨专业入门,所以在学习java等编程语言的同时,就很想在基础上多下点功夫。看到网上一些前辈感慨,非科班出身和科班出身的差别,就算有些浑浑噩噩的,但是四年的耳濡目染,也可能比那些基础不牢固,但又很努力的非科班同事,学习上手要快。所以更加坚定自己的计算机基础学习,打好了基础,后面的学习相信会更加容易上手。第一本的数据结构书是借了一本C语言版的数据结构,从软件工程的朋友借的。后面在网上看到推荐程杰老师的大话数据结构,现在已经阅读两百页左右,想借博客记录下自己的读书笔记。

数据结构在计算机中的表示称为数据的物理结构,又称存储结构。
数据类型和抽象数据类型;数据类型是用以刻画程序操作对象的特性,抽象数据类型是指一个数学模型以及定义在该模型上的一组操作;可细分为三个类型,分别是原子类型、固定聚合类型、可变聚合类型。

以下格式定义抽象数据类型
ADT 抽象数据类型名{
数据对象:(数据对象的定义)
数据关系:(数据关系的定义)
基本操作:(基本操作的定义)
}ADT 抽象数据类型名

基础知识概念

  • 算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;还有着有穷性,确定性,可行性,输入和输出。、
  • 数据:是描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
  • 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
  • 数据项:一个数据元素可以由若干个数据项组成。
  • 数据对象:是性质相同的数据元素的集合,是数据的子集。
  • 数据结构:是相互间之间存在一种或多种特定关系的数据元素的集合。
  • 逻辑结构:是指对象中数据元素之间的相互关系。
  • 存储结构:是指数据的逻辑结构在计算机中的存储机构。
  • 抽象数据类型:一个数学模型及定义在该模型上的一组操作。
  • 二叉树是n个结点的有限集合,该集合或者为空集,或者有一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
  • 二叉树的特点与性质:
  1. 每个结点最多有两棵子树
  2. 左子树和右子树是有顺序的,次序不能任意颠倒
  3. 即使树中某一结点只有一棵子树,也要区分它是左子树还是右子树。
  • 特殊二叉树
    • 斜树
    • 满二叉树
    • 完全二叉树:叶子一结点只能出现在下两层,最下层的叶子一定集中在左部连续的位置,倒数第二层若有叶子结点,一定在右部连续的位置,同样结点数的二叉树,完全二叉树的深度最小。
  • 树的存储结构:
    父亲表示法:data parent
    孩子表示法:data child
    孩子兄弟表示法:data firstchild(指针域,存储该结点的第一个孩子结点的存储地址) rightsib(指针域,存储该结点的右兄弟结点的存储地址)

https://www.jianshu.com/u/808054b533e9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值