数据结构是什么的理解!!!!
2014-08-07 20:48
344 查看
数据结构是什么呢?能干什么?研究的东西包括哪些???为什么是这样?
数据结构是数据的存储和组织形式,当你知道了数据是怎么存储和组织的才可以更好的使用编程来调用他们!!
处理数据最有效率并且最省空间。
数据结构很有意思的。计算机只有计算能力,没有分析、理解能力。所以这需要人来做。这时候问题就被划分得非常细,当然已经不用将每个操作细分到机器码指令,那些操作由编译器实现。但实际的业务逻辑也要牵涉到诸多算法,这时候就需要你来设计算法。日常生活中的很多问题你可以用模糊思维去解决,但你要把这些告诉计算机,那只能将这些模糊弄清晰。比如你查字典要查537页,你当然不会从第一页往后找,而是会随便翻开中间的一页,看看多了还是少了,然后反复这样,直到与目标页相差的数量你可以忍受时,你才会一片一片的翻到目标页,但计算机却只能从1开始往后找。于是有新的算法诞生,它随便哈希一次,看看多了少了,排除掉一部分,就这样,反复哈希,就和你的模糊思维相近了,最主要的是这样找要比顺序找效率高很多。数十年后就有人总结出来类似的一些数据结构问题,编排成册。你就不用费尽心思钻研了,学习一下儿人家的就可以了。当然,你如果有能力并且有兴趣,说不定以后某个算法就以你的名字命名了。
程序的本质是计算(computing),计算的两大要素是数据与算法。控制单个数据时,变量足够了。但对于大型程序,处理的数据必然也很大,此时,为了有效的管理这些数据,我们需要将它们按照一定方式组织起来,以便于操作,到得的东西,便称为数据结构。例:你要写一个类似有道词典的软件,那么,你需要存储词汇,于是你需要一个数据结构来组织所有词汇。当然,你选择不同的数据结构,算法效率是不同的。比如,你直接用list存储所有词汇,那么查找操作会很慢。一个程序的效率,很大程序上取决于你所使用的数据结构。所以,数据结构是程序设计中非常重要的部分。
数据结构和算法是把实际问题变成计算机可计算的问题。
而语言是把算法变成计算机可以理解的语言。
运用计算机处理数据时,必须解决四个方面的问题:
一是如何在计算机中方便、高效地表示和组织数据;
二是如何在计算机存储器(内存和外存)中存储数据;
三是如何对存储在计算机中的数据进行操作,可以有哪些操作,如何实现这些操作以及如何对同一问题的不同操作方法进行评价;
四是必须理解每种数据结构的性能特征,以便选择一个适合于某个特定问题的数据结构
数据结构是数据的存储和组织形式,当你知道了数据是怎么存储和组织的才可以更好的使用编程来调用他们!!
处理数据最有效率并且最省空间。
数据结构很有意思的。计算机只有计算能力,没有分析、理解能力。所以这需要人来做。这时候问题就被划分得非常细,当然已经不用将每个操作细分到机器码指令,那些操作由编译器实现。但实际的业务逻辑也要牵涉到诸多算法,这时候就需要你来设计算法。日常生活中的很多问题你可以用模糊思维去解决,但你要把这些告诉计算机,那只能将这些模糊弄清晰。比如你查字典要查537页,你当然不会从第一页往后找,而是会随便翻开中间的一页,看看多了还是少了,然后反复这样,直到与目标页相差的数量你可以忍受时,你才会一片一片的翻到目标页,但计算机却只能从1开始往后找。于是有新的算法诞生,它随便哈希一次,看看多了少了,排除掉一部分,就这样,反复哈希,就和你的模糊思维相近了,最主要的是这样找要比顺序找效率高很多。数十年后就有人总结出来类似的一些数据结构问题,编排成册。你就不用费尽心思钻研了,学习一下儿人家的就可以了。当然,你如果有能力并且有兴趣,说不定以后某个算法就以你的名字命名了。
程序的本质是计算(computing),计算的两大要素是数据与算法。控制单个数据时,变量足够了。但对于大型程序,处理的数据必然也很大,此时,为了有效的管理这些数据,我们需要将它们按照一定方式组织起来,以便于操作,到得的东西,便称为数据结构。例:你要写一个类似有道词典的软件,那么,你需要存储词汇,于是你需要一个数据结构来组织所有词汇。当然,你选择不同的数据结构,算法效率是不同的。比如,你直接用list存储所有词汇,那么查找操作会很慢。一个程序的效率,很大程序上取决于你所使用的数据结构。所以,数据结构是程序设计中非常重要的部分。
数据结构和算法是把实际问题变成计算机可计算的问题。
而语言是把算法变成计算机可以理解的语言。
运用计算机处理数据时,必须解决四个方面的问题:
一是如何在计算机中方便、高效地表示和组织数据;
二是如何在计算机存储器(内存和外存)中存储数据;
三是如何对存储在计算机中的数据进行操作,可以有哪些操作,如何实现这些操作以及如何对同一问题的不同操作方法进行评价;
四是必须理解每种数据结构的性能特征,以便选择一个适合于某个特定问题的数据结构
相关文章推荐
- 数据结构是什么的理解!!!!
- 麻烦越多,就越深刻理解模式是什么
- [数据结构]对中序非递归遍历二叉树的理解与讨论
- 深刻理解C数据结构中的递归定义
- 理解什么是Spring——转
- xml学习:有什么优势和特点及常见问答加深理解
- 简易ERP是什么?(帮你理解ERP)
- 什么是委托,理解委托
- ESRI的Geodatabase设计指导[理解数据结构]
- 【转贴】什么是操作系统 什么是数据结构
- [数据结构]对三序非递归遍历二叉树的理解
- 数据结构:最小堆/哈希表/二叉树/平衡二叉树/红黑树的意义(什么情况下使用)
- 什么是数据结构
- 什么是委托,理解委托
- 什么是SOA,请先平一下我的理解
- 纪实图集:看了这些照片你才能理解什么是幸福
- 什么是数据结构
- 什么是工作流,关于工作流的一些理解
- 什么是 XML 数字签名以及对其深入理解
- 在概念堆里理解什么是智能SOA