找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2400|回复: 0
打印 上一主题 下一主题
收起左侧

印象“数据结构与算法”

[复制链接]
跳转到指定楼层
楼主
ID:57234 发表于 2015-3-21 02:36 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
        每天坚持学习小甲鱼讲解的《数据结构与算法》课程1-3节,总共98节视频课程基本上算是过了一遍。第一遍只能是尽可能的去理解一下概念和原理,基本上只能说是与《数据结构与算法》混了个“脸熟”;甚至连“脸熟”也谈不上。毕竟《数据结构与算法》理论性太强,概念太多,对计算机基础知识的要求也很高。《数据结构与算法》是练内功开阔视野的一门课程,以我这稀烂的基础必须多看几遍反复学习才可以,所谓“读书百遍,其义自见”。

       虽说学习它不能带来RMB,但是在喧嚣的环境中能安安静静的坐下来踏踏实实的听别人讲课,既是一种享受,同时也是对身心的一种修炼。人不能闲着,一旦闲着了就爱惦记一些不该惦记的事情,比如,别人的.....,别人的......。

        计算机内存是个线性结构,记得C语言中有这样的描述:“字节是内存中最小的寻址单元,在内存中每个字节都有一个独一无二的编号,这个编号就是地址”;内存是用来存储数据的,那么数据又分为:1,基本类型,如,字符,整形,浮点型;2,构造类型,如数组,结构体,枚举。联合体;3,指针类型;4,void类型,函数作为一段代码,在内存中自然也会有入口地址(函数名),当然,void也代表“任意类型”。郝彬老师说过,编程最终就是要解决数据的存储问题;我的理解就是:在内存中由零号地址(32位系统中,任何数据类型都由4个字节地址长度构成)开始的线性结构中,对数据进行遍历,查找,插入,删除这四种操作。数据一般有顺序存储(如数组,结构体)和链式存储这两种存储方式。每种存储方式都有自己的优点和缺点。如ucos-ii操作系统中的任务控制块,内存控制块,消息队列就是以链式存储方式处理的,每个控制块都可以以一个链表中的“结点”来描述。链表包括单向链表,双向链表和循环链表(队列),本人深有体会,学好链表对理解操作系统原理大有裨益。

       因为计算机内存是个线性结构,要将多维的复杂的现实世界问题模拟到一个一维空间,显然就有难度。于是那些科学家们就想办法将模拟复杂的现实世界的数据以各种结构形式存储到内存中,以便于更好的处理一些复杂的问题。于是,就构造出了:数组,结构体,链表,树,表,图等等这些复杂的数据结构;构造一种类型的数据本身就是一种智慧,应该也是一种算法的体现。解决问题的方法有很多,哪种方法最高效呢?于是,那些牛人又提出了“时间复杂度”和“空间复杂度”这两个指标或概念来衡量一种算法的“复杂度”。这些牛人包括霍夫曼(树),最优二叉树,“树”这种数据结构的代表,卡尔曼(滤波),高斯(法国神童),哈希算法(HASH是不是人名?)等等。什么"最短路径",”哈希算法“,”折中算法“,”黄金分割法“,”线索二叉树“等等都是一些牛人的智慧。

      算法中,最牛逼的应该是递归。用牛人的话说,人用“迭代”,神用“递归”。的确用递归解决一些重复的问题只要设置好退出递归的条件就是神来之笔。例子很多,不多说了。有一种感觉:过一遍《数据结构与算法》真的大大开拓了视野,知道了什么是神什么是人;之前学习过的那些单片机程序仅仅只能算是入门,没什么大不了的。开发板永远是别人的,仅仅只能起个入门的作用。

      作为一个学习者,有时候不必妄自菲薄,有时候也大可不必因为学会了一点东西而妄自尊大!任何一门科学是人类智慧的结晶而不是某个人的成果。个人顶多是一块砖,仅此而已。据说法国那位天才数学家高斯先生,到死也没有得到国际象棋中的“八皇后问题”的正确答案。

      woc,这个点了。tmd,白天昏昏沉沉,晚上尽胡说八道睡不着;叫老子咋整?!睡觉。

                 ----  王衍




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表