第2章 算法----程序的灵魂

2.0 程序设计的四个方面

  1.数据结构(对数据的描述,主要,加工对象)2.算法(对操作的描述,主要,灵魂)3.程序设计方法(编程需要采用合适的方法) 4.语言工具(工具)

2.1什么是算法

  1.算法:为解决一个问题而采取的方法和步骤(广义)

  2.计算机算法:1.数值运算算法(1.目的:求数值解;2.对该算法研究比较深入,往往有现成的模型,可以运用数值分析的方法) 2.非数值运算算法(只有一些典型的非数值运算算法,如排序算法,查找搜索算法等,有现成,成熟的算法可以提供)

  3.

时间: 2024-10-24 09:24:23

第2章 算法----程序的灵魂的相关文章

C语言程序设计-第2章 算法-程序的灵魂

一个程序主要包括以下两个方面的信息: 1)对数据的描述.在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构(data structure). 2)对操作的描述.即要求计算机进行操作的步骤,也就是算法(algorithm). 算法+数据结构=程序 算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用合适的方法. 为解决一个问题而采取的方法和步骤,就称为"算法". 例题1.判定2000-2500年中每一年是否为闰年,并将结果输出. 设year为被检测的年份.算

《算法》第一章部分程序

? 书中第一章部分程序,加上自己补充的代码.包括若干种二分搜索和寻找图上连通分量数的两种算法. ● 代码,二分搜索 1 package package01; 2 3 import java.util.Arrays; 4 import edu.princeton.cs.algs4.StdRandom; 5 6 public class class01 7 { 8 public int binarySearch(int [] a, int target) // 非递归实现 9 { 10 int lp

数据-第3课-程序的灵魂-算法

第3课-程序的灵魂-算法 数据结构与算法 (1) 数据结构只是静态的描述了数据元素之间的关系. (2) 高效的程序需要在数据结构的基础上设计和选择算法. 高效的程序:恰当的数据结构 + 合适的算法. 算法的定义 (1) 算法是特定问题求解步骤的描述. (2) 在计算机中表现为指令的有限序列. 算法是独立存在的一种解决问题的方法和思想. 对于算法而言,语言并不重要,重要的是思想. 算法的特性 (1)输入 算法具有0个或多个. (2)输出 算法至少有1个或多个输出. (3)有穷性 算法在有限的步骤之

《算法》第六章部分程序 part 7

? 书中第六章部分程序,加上自己补充的代码,包括全局最小切分 Stoer-Wagner 算法,最小权值二分图匹配 ● 全局最小切分 Stoer-Wagner 算法 1 package package01; 2 3 import edu.princeton.cs.algs4.In; 4 import edu.princeton.cs.algs4.StdOut; 5 import edu.princeton.cs.algs4.EdgeWeightedGraph; 6 import edu.princ

《算法》第三章部分程序 part 5

? 书中第三章部分程序,加上自己补充的代码,包含公共符号表.集合类型 ● 公共符号表,用于普通查找表的基本类 1 package package01; 2 3 import java.util.NoSuchElementException; 4 import java.util.TreeMap; 5 import edu.princeton.cs.algs4.StdIn; 6 import edu.princeton.cs.algs4.StdOut; 7 8 public class class

《算法》第三章部分程序 part 6

? 书中第三章部分程序,加上自己补充的代码,包含双向索引表.文建索引.稀疏向量类型 ● 双向索引表 1 package package01; 2 3 import edu.princeton.cs.algs4.ST; 4 import edu.princeton.cs.algs4.Queue; 5 import edu.princeton.cs.algs4.In; 6 import edu.princeton.cs.algs4.StdIn; 7 import edu.princeton.cs.a

《算法》第三章部分程序 part 4

? 书中第三章部分程序,加上自己补充的代码,包括散列表.线性探查表 ● 散列表 1 package package01; 2 3 import edu.princeton.cs.algs4.Queue; 4 import edu.princeton.cs.algs4.SequentialSearchST; 5 import edu.princeton.cs.algs4.StdIn; 6 import edu.princeton.cs.algs4.StdOut; 7 8 public class

《算法》第四章部分程序 part 7

? 书中第四章部分程序,包括在加上自己补充的代码,图中找欧拉环 ● 无向图中寻找欧拉环 1 package package01; 2 3 import edu.princeton.cs.algs4.StdOut; 4 import edu.princeton.cs.algs4.StdRandom; 5 import edu.princeton.cs.algs4.GraphGenerator; 6 import edu.princeton.cs.algs4.Graph; 7 import edu.

《算法》第五章部分程序 part 4

? 书中第五章部分程序,包括在加上自己补充的代码,Trie 树类,Trie 集合,三值搜索树(Ternary Search Trie) ● Trie 树类 1 package package01; 2 3 import edu.princeton.cs.algs4.StdIn; 4 import edu.princeton.cs.algs4.StdOut; 5 import edu.princeton.cs.algs4.Queue; 6 7 public class class01<Value>