第一章什么是数据结构,什么是算法

                         一开始就来一些概念性的东西,其实并不是让人接受的方法,所以这里概念只是简单的提一提而已,可以用一种比较偏激的方式去理解它,到日后慢慢的再一点点的体会就可以了,我一直觉得学习编程,很多人说要先学好基础,但是其实很多基础是在于你应用了之后才能够真正明白的,算法与数据结构就是这样一门科学,光看当时是看懂了,可是有用吗,有,不过是当下,之后你就会忘得一干二净,怎么办呢,不要只是看,真的不要只是看,我现在很后悔投机取巧,一开始没有付出实践,到后面当你再次需要的时候,你会发现,这个东西我以前明明懂得,可是现在怎么就不懂,会有很多的懊恼,然后对自己怀疑,所以不要只是看,动手吧孩子。

                        好了废话少说了,下面就是几个我认为有必要提一提的概念

                       一, 数据结构分为物理结构和逻辑结构

                                数据结构里的逻辑结构::集合,线性,树形,图形

                                数据结构里的物理结构:顺序,链式,索引,哈希(散列)

                                注:对于一种数据结构,其逻辑结构是唯一的,但是它可能对应着多种存储结构

                      二,算法:指数据结构+程序设计

                       ,算法的5个重要特征

                               1,有穷性(可以简单的这么理解,有穷,当然是要求程序有开始也得有结束,不能无时无刻的运行下去,不然算法没有结果有什么意义呢?)

                               2,确定性(可以简单的这么理解,确定,当然是要求程序的算法结果是确定的,不可能自己写的算法到最后它的结果是你意料以外的吧?)

                               3,可行性(可以简单的这么理解,可行,当然是要求程序的运行条件是可行的,如果你的程序算法要求无限量的存储空间之类的,那这个算法就没有意义了)

                               4,输入

                               5,输出

                      四,算法的设计要求

                               1,正确性(正确性不用多说了,算法如果设计出来时错的那要来干嘛)

                                2,可读性(可读性是要你考虑,你的算法不是只给自己看,还要别人也能看的懂)

                                3,健壮性(健壮性,这个也容易理解,写了算法用一次出三次bug有意义吗?)

                                4,效率与低存储量要求(这个也容易理解,你一个算法要用一个地球的容量是完全没有意义的)

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值