|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
数据结构学习笔记
各位看官 , 数据结构有多重要大家应该很清楚 .
数据结构可以说是软件大厦的基础 , 本人对于目前中国软件业界的浮躁之风很感叹啊 .
我想,即使是在今天这个快速开发工具遍地都是的时代 , 我们IT人还是应该静下心来 , 好好研究一下最根本的技术.
比如说 , [数据结构] [编译原理] [汇编语言] [C/C++] [操作系统] [软件调试技巧] [Linux] .
有看官可能会觉得为什么还要学习汇编语言与C/C++这两门岁数比我年龄还大的语言 .
好吧,我承认C/C++的年龄比大多数IT人的年龄都要大 . 但是C与C++毕竟是基础 , C教会你
面向过程编程 , C++教会你面向对象编程 . 况且java C#都是类C语言 . 在学习C/C++的过程中 , 你还能掌握大量调试技巧(尤其是调试复杂算法时) .
调试的同时能很好的体会数据流 , 控制流这些概念 .
汇编语言是称为高手的必备武器 , 汇编语言能让你在机器层面操纵机器 . 不学汇编语言 , 你连黑客的缓冲区溢出攻击都不知道 .
汇编还能帮你在软件上打补丁 . 做逆向工程也少不了汇编 . 数据结构 + 编译原理 是两门比较难学的课程 .
数据结构是基础 , 数据结构为编译原理打下良好的继承 . 编译原理难学是众所周知的事情 . 但是,我们学编译原理主要不是写一个编译器自娱自乐.
编译原理中的很多概念在复杂软件的开发中十分有用 , 如 形式语言理论 词法分析 语法分析(语法树构建) 代码优化 有限状态自动机 正则表达式
都十分有用.至于操作系统 , 操作系统中有很多概念 . 线程 进程 线程同步 线程死锁 虚拟内存 分页机制 ...
Linux IT man 是当下的当红炸子鸡 , Linux系统完全免费 , 几乎每个软件公司都有 . Linux在软件开发的效率上似乎没有windows快 .
但是Linux在系统运维上 , 真是刚刚刚的 . Linux的Shell脚本机制的快速让人惊讶 . Linux博大精深 , Linux的安全性极高 . 尤以Free BSD
最为突出 . Linux开发软件没有Windows那么直观 . Vi写好 , 给GDB调试 . GDB确实没有MS-VS IDE好 , 那么直观 .
Linux是搭建服务器的首选OS Linux也是嵌入式的OS
Linux开源 Kernel改一改就能装在手机 家电中了(内核随你改动,Windows完全闭源).
小伙子,做Linux还是有很大钱途的 ...
各位看官 , 不好意思 ,本人之前学过数据结构 . 今日写此笔记只是为了巩固知识罢了 .
以便为编译原理的深入学习打下基础.
作为一个过来人 , 我认为数据结构的学习并不是死板的照书上的代码敲一遍 , 而是多画图 . 多调试跟踪代码的执行流程(即使这段代码是完全正确的) . 还有吧 . 无法理解的代码先记着 . 学到后来 , 你的调试过程告诉你的经验足够了的时候 . 你自然而然就理解了 .
永远记住 . 代码不是靠背下来的 , 而是靠打出来的 . 程序不是靠写出来的 , 而是靠调试出来的 .
我目前超过1000行的程序中 , 没有一个程序是一气呵成的 . 都是Debug出来的 .
调试经验有助于你进行逆向工程 . 如 条件断点 堆栈回溯 硬件断点 内存断点 .
多写代码 / 多调试 / 多思考
梦想总是遥远的 , 那请你忘掉你曾经后悔过的事情 , 从今日背上行囊出发吧.
|
评分
-
查看全部评分
|