程序设计灵魂---算法和数据结构

原创 2007年10月03日 20:42:00

     做程序开发工作很长时间了,随着自己知识的提升,逐渐的感觉到程序设计中,最重要的是算法和数结构。语言是载体而以,如果你精通了一门语言,学习其他语言都是很简单了。例如C++ 和JAVA 就有很多一样的地方,相互之间可以对比学习。

    程序设计中的很多问题最后归根到底是数据结构和算法的问题。对于一个比较小的功能,首先想到的是数据结构,现在大多数是ADT(抽象数据类型,把数据和操作隔离开来,提供一个接口,让程序员把大部分精力放在算法,效率方面)。数据结构又有逻辑结构和存储结构,对于具体的问题是首先分析逻辑结构,然后就是存储结构,用什么存储结构要看具体的问题。主要的目的是从内存管理方面来提高效率(时间效率和空间效率综合考虑)。

    具体的问题分析完功能后,然后设计具体的逻辑结构和存储结构,对于一个具体的功能,怎样实现才能达到最好的效果,就是算法的问题,现在有很多的算法,怎样才能达到最好的效率在不同的情况下有不同的算法。许多问题可以不断的优化,没有最好的算法,只有很好的算法,所以算法设计的过程中要不停的考虑怎么优化。

   总之,学习程序设计不要太注重语言的学习,精通一门语言就可以,(当然越多越好),操作系统的设计都是算法和数据结构的问题。(C语言编写)所以,走上程序设计道路,要吸取精华,那就是算法和数据结构。知识在不停的更新,但是算法和数据结构永远都绽放出青春的活力。 

程序的灵魂——算法

软件工程的思想告诉我们,软件包含两部分内容,一部分是计算机可执行的程序和相关的数据,一部分是与程序及数据有关的描述性文档。也即:软件=程序和数据+文档。对于一个毫无开发经验,刚开始学习计算机编程的人而...

1--程序设计的灵魂—算法

一:算法 特定问题求解步骤的描述 二:算法特性 输入:有0个或多个输入 输出:至少一个输出 有穷:有限步骤之后自动结束 确定:每一步都有确定的含义 可行:每一步可行 程序=数据结构+算法...

Python程序设计基础 数据结构与算法习题

小白初学欢迎参考,有误请指出 #百钱买鸡 for x in range(0,101): for y in range(0,101): z=100-x-y i...

多核计算与程序设计 - 04 基本算法和数据结构 之一 多线程栈

栈:基本的数据结构之一,有先进后出的特性。 当栈用于多线程程序的时候,必须要为其加上锁保护才能避免重入的问题。 在多线程程序中,在调用栈的地方加锁,完成后再解锁,这可能导致程序复杂,而且在很多地方...

多核计算与程序设计 - 09 基本算法和数据结构 之四 AVL搜索树

AVL搜索树 AVL 树概念:一个自平衡的二叉树,左右子树的高度的差不超过1。它的名字得名于它的发明者G.M. Adelson-Velsky 和 E.M. Landis。 AVL搜索树操作...

浙江中医药大学-数据结构与算法期末考试应用题、程序设计题

浙江中医药大学-数据结构与算法期末考试(A、B)(2017.1.11)应用题、程序设计题 一、应用题 1、设一颗二叉树的先序序列:A B D F C E G H,中序序列:B F D A G E...

程序设计就像盖房子,数据结构就像砖瓦,而算法就是设计图纸

“程序设计”说白了就是大家所谓编程,先不管这个词中有什么深刻的内涵,先看看等式右面的这两个名词。   按照官方的定义:数据结构即非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作...

【程序设计实践】第2章 算法和数据结构

第2章 算法和数据结构 即使是很复杂的程序,也是由简单的数组、表、散列表等简单东西堆砌起来的。 检索 顺序检索,二分检索 排序 快速排序 库 C函数库中的qsort,调用时必须提供一个比较函数。ANS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 程序设计灵魂---算法和数据结构
举报原因:
原因补充:

(最多只允许输入30个字)