|
|
发表于 2007-2-11 13:53:07
|
显示全部楼层
基本概念:
3 C% @; X6 m& \& T) X数据:所有能被计算机处理的符号的集合,也就是我们通常所说的信息。" m2 k" q% l6 A( [% F% K: t8 n
数据元素:是数据中的一个个个体。$ S& t5 m( u! v9 F
数据对象:相同性质的数据元素的集合(例如整型数据对象)
1 t& O, U4 b) W; u$ o4 b9 h数据项:数据元素中对数据进行描述的一些特征项。: ]- r% }% {) L) g" M6 }
' z7 V3 E8 E, ?: L: o内在联系,数据是一个广义的概念,一份数据(如123asd)中可以包含多个数据对象如整型对象N=(1、2、3),,字符型对象C=(a、s、d)等等,每个数据对象可以包含多个数据元素。一条记录可以看做是一个数据元素,那么其中的每一个字段可以看做是一个个数据项,他们都是有意义的,如学号,姓名,年龄等。数据元素常常可以分为若干个数据项,数据项是数据具有意义的最小单位。
0 r/ k5 N4 T- |' e' f+ o$ E" J# K$ v" ~% g; }
研究数据结构,对每一种数据结构可以从以下4个方面进行考虑:
! L; J% ~8 w; _1.该结构的逻辑结构和物理结构是什么,以及之间的对应关系。(逻辑结构就是数据元素之间的一些对应关系,如1对多等,物理结构是指数据结构在计算机中的存放,在计算机中的组织方式。)# v2 i" U' S6 e5 \0 y" ^3 M- x
2.该结构包含哪些运算?
" C3 g5 a: P$ _$ E5 @( E3.该结构可以采用哪些算法?6 n$ S: ?4 I: }# q3 G% |9 g
4.这些算法的效率如何?8 `" u' W- d* g0 t* W% M! H
, r; t+ Q0 s. _
算法是一个有限的指令集,遵循指令流可以完成特定的功能。# b! j" Y* V G, ]
1.算法所包含的指令集必须是有限的,在有限步中完成。0 H8 f' g3 J% L
2.算法中这一步之后的下一步是确定的,没有第二种选择。也就是A执行完之后只能执行B,不能有去执行C,(条件判断之后也只有一种选择)
. ^. n) j- ~1 @; c& l8 e3.算法中每一步必须是可执行的,通过算法的执行可以完成特定的功能。
2 M/ H; G2 Q) b/ G- M5 D- K) @% `- Z* Z |; J7 }2 j. a; r/ v/ w& y& J$ T
数据结构主要研究程序和算法的表现形式:
* R; j2 }0 X8 |1 S- D1.程序可以是无穷的,(一个程序可以一直运行,直到有一个外部命令中断执行),而算法必须是有穷的,即在有限步执行之后必须结束,并得出正确的结果。
; {& k7 T. ^5 a, H# ?( ~2.程序可以是错误的,算法必须是正确的。' G9 B) \# C: _9 f0 F8 {
3.程序是用程序设计语言描述,可以在机器上执行,而算法还可以用框图、自然语言、伪吗等人们容易理解的方式表达。9 x: }5 s; n1 V
y+ h: \& M- C% ]3 @( j( d& t一般每一本书的第一章是总纲,通过学习第一章,能让读者明白我要学的是什么,我为什么要学这本书的内容,我学了有什么用?这本书的内在组织结构是怎么样的,每个知识点有什么共性,点和点之间有什么联系。1 U3 t# l' \: s4 X/ q
- t% p: ]' L& |. G# n& ?+ e& M
学完第一章之后应该让我们对所学的东西有清晰的概念和一些想要解决的问题,第一章是一个关键,电子科大罗老师在这方面讲的很不错,层次很清晰,条理很清楚,此外还讲到了软件工程方面的一些内容。 |
|