什么是数据结构与算法

数据结构,简单说就是数据的存放方式,不同的数据结构不过是数据的存放方式不一样,这里为了方便大家理解,我们用图书馆存放图书来举例,图书馆中的图书就是我们计算机中的数据。

我们去图书馆会发现,图书馆一般存储图书是把相同类别的图书存放到一起,或者按照图书名字的首字母,根据英文字母进行排序存放图书。或者一些大一点图书馆,将两者进行结合,先根据图书类别进行存放,然后对这个类别中的图书按照图书名字的首字母进行存放。图书馆还可以将所有图书无规律的存放到一起(一般不会有图书馆这么做)。

图书馆中对于图书不同的存放方式,就是不同的数据结构。我们也可以将计算机中的数据按照一定的类别来分类存放,然后相同的类别放到一起,如果这个类别中的数据太多了,我们就按照一定的顺序,对这个类别中的数据进行排序存放。这里典型的数据结构就是哈希表,哈希表会将数据中具有相同 hash 值的数据放到一起,然后按照一定方式,对具有相同 hash 值数据的这个类别进行排序存放。所以像我们常见的数据结构,比如线性表、哈希表、树、图这些数据结构都是用于存放数据的,不同的是他们对数据的存放方式不一样。

算法,简单来说就是解决问题的方法,相同的问题,有不同的解决方法,所以相同的问题也有了不同的算法,不同的算法之间的效率不一样,也就体现了不同算法好坏的区别。

了解完什么是数据结构和算法的含义,最后我们想一下,为什么数据结构和算法总是同时出现,他们两者的关系是什么。

我们还是用图书馆举例,假设这里有一个大型的图书馆,它有二十楼高,全部是用于存放图书的。每层楼,存放不同类别的图书,每个类别的图书按照书名进行排序。那么我们有什么办法,去找到自己想找的图书呢?最高效的办法自然是根据图书的类别确认图书在那一层,然后在那一层,按照书名排序进行查找自己想要的图书。除了这种方法,我们还有什么办法找到自己想要的图书呢,我们可以一层楼一层楼的,每层楼一本一本的去找自己想要的图书,这样的方式虽然效率很低,但是我们一样可以找到自己想要的图书。

上面这里例子中,我们存放图书的方式就是数据结构,查找自己想要图书的方法,就是算法。假设这个图书馆的图书是随便乱放的,我们想要找自己想要的图书,就只能一层楼一层楼的,每层楼一本一本的去找,而不能通过之前那样,先确定在那层楼,然后按照类别、书名来查找。从这里我们可以看出数据结构与算法的关系,数据结构是为算法服务的,算法要作用在特定的数据结构之上

 


                                                              能看到这里的都是真爱了,长按二维码关注

                                                               一起在知识的海洋里狗刨,一起学习成长

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值