学算法前后
⑴ 学数据结构和算法前,是不是要先学离散数学
不用的,二者不是前导课后续课的关系
⑵ 学数据结构和算法之前要先学什么
学习算法和数据结构就是把你的程序运行速度变得更快,内存需求变得更小,代码长度变得更短。正式进入数据结构和算法前需要了解下C++内存的那些事。
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限;
堆,就是那些由new分配的内存块,它们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收;
自由存储区,就是那些由malloc等分配的内存块,它和堆是十分相似的,不过它是用free来结束自己的生命的;
全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区;
常量存储区,这是一块比较特殊的存储区,它们里面存放的是常量,不允许修改。
以上内容摘自《C++内存管理技术内幕》,学习数据结构和算法前可以多多看一下。
⑶ 学习java的顺序是什么比如说是先学编程语言还是算法还是数据结构什么的
先学基本的编程语言,至于算法跟数据结构,跟特定的语言并没有特别大的关系,也就是学什么语言都可以学,属于进阶
⑷ 应该先学算法还是数据结构
个人愚见,数据结构是算法的凝结品,因为各种数据常用或通用的数据结构能够解决在实际应用中的一些问题,然而算法就是解决问题的一套思路,当这套解决问题的思路固定之后,就会有相应成熟的数据结构产生,也就是鸡和鸡蛋那个先存在的问题,如果按照正常的思路,先学数据结构,然后再学算法,不过一般在学数据结构的时候,肯定会有一些知名 的算法会顺带地学到
⑸ 学算法,要不要先学数学
你好,我是数学专业的,我也学计算机专业,老师告诉我,我们专业的优点就在算法设计方面,因为我们比你们有数学的思维…其实算法不需要某门课程为基础,熟能生巧,当你编了大量的程序时,你自然具备了数学的思维,就不会在在乎什么数学基础了…祝你好运
⑹ 学数据结构和算法之前要先学什么
不需要其他的了,因为数据结构跟c一样也是一么基础课,学了他是为后期学其他课程作准备的,如编译原理!!!
数学分析暂时还用不着但是可以锻炼思维能力!!
数据结构里的内容跟离散数学关系很大,比如图,等等!!
必须把离散学好!!
⑺ 关于算法的学习过程
你说的应该是计算机算法吧,如果真要在这上面深究的话,建议还是提高数学基础,最基础的两门课是离散数学与数据结构,当然一般高校的教材都还是比较不错的,数据结构这个东西一开始比较抽象,等你学过后悟一悟就会发现很有意思,把它学好,争取能自己理解并实际编程实现常用的所有数据结构及其相关算法,然后就看“计算机算法基础”这本书吧,从分治法到回溯法等等等等,把常用的算法(典型问题)学会并用程序实现它们,这样的话就差不多了。推荐几本书:《数据结构》、《计算机算法基础》、《算法:C语言实现》(两本,普林斯顿大学的Robert着)。另外,当你基础够好的时候,就看看算法界的宗师Donald E. Knuth(高德纳)的经典算法巨作<The Art Of Computer Programming>(简称TAOCP,共3卷)及其有关数学基础的书<具体数学>.
当你把这一切都学完(学会)之后,相信你的算法水平已经到了个相当的高度。比尔·盖茨曾说过,如果学完了3卷TAOCP,就把简历寄给他。努力吧!算法很有趣,一步步来,相信你会成功的。
⑻ 在学算法设计与分析之前就先学习什么课程
首先要学一门编程语言,推荐学习C++。
其次,要学习数据结构。