《数据结构系列_开篇》

1.为什么学习数据结构

在学习数据结构之前首先先明白我们为什么学习数据结构?

答:作者在这个行业也混了6年多了,面试过很多的人,也被很多人面试过,根据经验,基本上的面试问题有过一定工作经验的人都能答的出来,因为都是日常开发中的一些问题,所以很多公司(比较正规的公司)都会在面试中增加数据结构的问题。原因很简单,数据结构是编程基础。基础好的人,学习一些新东西就会比较快,也比较稳。更加适合公司人才需要。

除了面试需要外,现阶段的Android的人才也趋近于饱和期,除非你是一些特定领域,比如逆向,音视频编解码等特定领域或者知名大神。不然光凭借一个本科学历很难突出自己的亮点。那么如果想要考研的话,如果是计算机的研究生,你觉得会不考你数据结构?

说了一堆,为什么要学数据结构?因为它是在人才济济的现阶段,找个好工作的一个基础前提。


2.怎么学

作者在大学时也看过很多的关于数据结构的书,像《大话数据结构》,还有严蔚敏老师讲的数据结构。学习了很多,不得不推荐下严老师的,讲的很细,如果没有时间去从头读一本书的话,可以看本系列博客,跟随作者一起从头再系列的过一遍数据结构,本系列博客也是作者从头再复习的一些笔记。

内容尽可能的写的简单,涉及到的内容有:线性表,栈和队列,递归,二叉树,赫夫曼树,图,及一些基础算法,比如:KMP, 马踏棋盘算法,快速排序,冒泡等。想要了解更多,建议去看一些相关书籍。如有不足,欢迎指正。

因工作原因,更新可能会略慢,每周会更新2篇。


3.什么是数据结构

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

当然上述是官方的话,作者的理解就是数据结构其实讲的就是关系,数据结构就是数据元素与数据元素相互之间存在的一种或者多种关系的集合

数据结构+算法=程序设计

在数据结构中,又分为物理结构和逻辑结构
逻辑结构:数据元素相互之间的关系。
物理结构:指的是数据逻辑结构在计算机中的存储形式。



4.四大逻辑结构

秉持着有图有真相的原则! 几张图来增强记忆
1.集合结构 : 集合结构中的元素关系,除了同属于一个集合这个关系以外,再无其他关系。

2.线性结构:线性结构中,元素间的关系就是一对一,顾名思义,一条线性的结构。

3.树形结构:元素间的关系就是一对多,一颗大树,伸展出的枝叶,也是类金字塔形。

4.图形结构:图形结构中,元素间的关系就是多对多。



5.两大物理结构

1.顺序存储结构
把数据元素存放在地址连续存储单元里,其数据间的逻辑关系和物理关系是一致的。

2.链式存储结构
链式存储结构是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的也可以是不连续的。元素存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,这样子通过地址就可以找到相关数据元素的位置。

介绍完基本的概念之后,就开始学习数据结构中很重要的一节内容,线性表

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值