简单的认识数据结构

转眼间,大学就要结束了,再不写点东西装一下,读了几年大学,很多人都会有一种若有所失的感觉。
the time of information and technology
这里写图片描述

先说说自己吧,作者大二转专业,半路出家,接触到计算机的第一节课就是数据结构,但是当时由于是基于C++语言的,而只是学过一点点VB的我,虽然能够自己看书看懂一些简单的数据结构,但当老师要求用代码实现数据结构时,就直接懵逼了,这一懵,就是几年!(⊙o⊙)…实际是一年多。在我看来,大学可以分为以下几个成长阶段:

快要上大学前:吾快到二十而志于学,
大一上:感觉自己萌萌哒。
大一下:大学要干什么?一脸懵逼,
大二上:二十而不惑。
大三上:感觉自己要立。
大三下:怎么大学要完了,数据额结构还不会
未完待续…

于是,笔者拿出了书,翻开了一本绿皮书,《数据结构C++版》,看了看,提起了笔,打算用笔者最熟悉的 java来写一遍这个自己曾经很惧怕的东西,用最简单的理解来揭开数据结构这个神秘的面纱…哈哈话不多说,let’s start !

首先,再用代码实现数据结构之前,我们必须要先来点“概论”级别的东西,作为实现的前提,也就两个概念!

一、认识数据结构

数据结构是啥子?

数据结构是指存在一定关系的数据元素的结合。Data_Structure即为围绕两个东东在转:数据、关系

额,原来就是一个集合。 集合里面有元素,啥子元素? 数据元素。

莫非数据结构可以分类?

逻辑结构:数据元素之间逻辑关系的整体.
存储结构:又称物理结构,是数据及其逻辑结构在计算机中的表示。分为:链式存储结构、顺序存储结构。

数据结构就是在讲数据元素之间存在某种“逻辑关系”,而我们在用java实现时,要通过链结构(如List)或者顺序结构(如数组)来作为其存储结构。

数据结构到底该纳闷分类?

集合:就是很多元素属于一个集合,很普通的关系。
线性结构:元素之间为一对一的线性关系,也就是每个元素(除头尾)前面有个:前驱 ,后面有个:后继
树结构:数据元素之间存在着一对多的关系
图结构:数据之间关系很乱,多对多的任意关系。

这几类相当简单,就不多说,自己理解。

二、认识抽象数据类型

啥子是抽象数据类型?

在我们用编程的时候,不管是用java,还是用C++,我们在定义变量时,都用了基本数据类型,如: int a=2 ;这里就用了 int 这个基本数据类型。那java中有多少基本数据类型呢?我们来列举一下:int( 4字节 )、short( 2字节 )、long( 8字节 )、float( 8字节 )、double( 8字节 )、char( 4字节 )、byte( 1字节 )、boolean( 1位 )。注意到没有,java的基本数据类型没有String哦!

上面列举了一大堆基本数据类型,那么除了这些基本数据类型,我们自己利用数据结构定义一些类型出来,那就是抽象数据类型了!

数据类型:是指一组值的集合以及定义在这个值上的一组操作的总称。
抽象数据类型:abstract data type,国际称呼为ADT,是一个结构以及定义在该结构上的操作的总称。
####据说抽象数据类型有两部分构成?
一个数据结构+定义在该结构上的一些操作。
.
.
.
.
.
好了,简单认识到这里就已经足够了,那我下一篇我将用java带大家一起来写第一个数据结构——线性表,敬请期待!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值