数据库 是计算机广泛使用的术语,下面是我在青鸟的随堂笔记与大家分享一下,可能对大家有帮助!

详细请登录:[url]http://www.beidaqingniao.org/question/0831314.html[/url]

一,关于数据结构

Q:什么是数据结构?有生活中的例子吗?
A:数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。 
数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。
生活中的例子,比如你现在要做一个考试系统,你要描述每个考生的信息,有姓名、性别、考号等,全部这些信息就构成一个小数据结构,每个考生有他自己的数据结构,这些结构要如何存放在计算机中,各个结构之间是什么关系,对整体需要哪些操作,比如查询、删除,怎样存储会使这样的操作效率更高,这些就是数据结构要解决的问题。

Q:数据结构难学吗?需要什么基础?要怎样学习数据结构?
A:数据结构不难学,需要一点离散数学的基础,具体来说要了解一点图论的有关知识,但是没有你想的那么困难。学习方法,我觉得要多动手,各式各样的数据结构、算法,写在书上记在脑子里都不够,要动手写程序,勤练习,才能熟练掌握,融会贯通。

Q:为什么市面上有各种各样的数据结构版本的书,像《数据结构C语言版》?我应该选择哪个版本?数据结构和语言是什么关系?
A:数据结构其本身是和语言无关的,也就是说数据结构只有一个版本,至于应该选择哪一个语言进行学习,可以就个人爱好与善长决定。C,C++,Java都是不错的选择。数据结构和语言的关系就像数学定理和描述它的自然语言一样,你可以用中文表达勾股定理,也可以用英文,法文或者世界上任何一种语言表达它,但是世上只有一个勾股定理。当然,如果任何一种语言你都不会,那将无法学好数据结构的。如果你打算今后都用C语言,那么可以认为数据结构是C语言的加强和发展。

Q:数据结构和算法有什么关系?数据结构就是算法吗?
A:它们可以相互区别也可以相互统一。广义上讲,算法是某一系列运算步骤,它表达解决某一类计算问题的一般方法,对这类方法的任何一个输入,它可以按步骤一步一步计算,最终产生一个输出。但是对于所有的计算问题,都离不开要计算的对象或者要处理的信息,而如何高效的把它们组织起来,就是数据结构关心的问题,所以算法是离不开数据结构的。单讲数据结构,它指数据的组织结构,它有逻辑结构和物理结构,另外还包括一些定义在某种数据结构上的算法,它只限于某一特定数据结构中使用,可以认为它是数据结构的组成部分,比如栈的压栈操作,这些算法虽小但很重要,可以看成是它们决定了数据结构的外部特性,比如同样是堆,有二叉堆,二项式堆,它们除了内部结构的不同,最大的还是外部操作的算法性能不同,也决定了它们本质上的不同,如果外部性能一样,那研究将是毫无意义的。总之,不能脱离算法讨论数据结构,也不能脱离数据结构研究算法。

Q:数据结构和数据库是什么关系?有联系或者区别吗?
A:数据库仅表示数据的仓库,它是数据库系统中的重要组成。而数据结构没有指具体是什么系统,操作系统,数据库管理系统(DBMS),数据库应用系统,都有数据结构。在DBMS中,比较偏重于数据的检索,这和数据结构及算法有很大关系,如果你想研发一个DBMS那就要好好学数据结构了,如果只是想做应用程序开发,就要学关系数据库原理学SQL语言,这些和数据结构没什么关系。