`
ewth126
  • 浏览: 8273 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据结构(一)

 
阅读更多

     无论是什么语言,归根结底它还是电平的变化,虽然做软件不需要深入了解到那么深入,但是我们需要了解程序的本质。

     程序是什么,程序=数据结构+算法;什么叫算法,算法简单说就是计算机的操作;什么叫数据结构,数据结构就是计算机操作对象。

     我是一个高要求的人,所以如果同样希望做出更好的程序,不满足于现在的语言的同学们可以和我一起讨论。本系列文章将从最基本的数据结构讨论起,直到常用的算法为止。最基本会包括六度空间算法,红黑树等等。

      闲话不多说。我们进入正题。

      这一个部分我想总结一下关于算法设计的基本目标和算法分析。

      算法的基本目标 是什么?各个地方的说法总结各种什么性什么性的我不喜欢。

      第一、算法就是用来解决问题的。所以它最基本的就是要能够解决问题。

      第二、算法就是用来提高效率的。所以它要能够在更小的内存上、用更快的速度去解决问题。至于如何平衡空间和时间这是根据实际情况考虑的问题。

      第三、算法能够提高运行的能力。简单说两个算法,一个出错了能跑回来,一个出错就当机,当然我们想要选择这个能跑回来的。

      至于书本上说的可读性等等,都是相对的,如果连基础的数学运算都没法理解,如何理解一个高等工程函数?如果能理解高等工程函数,还有基础函数不理解的么?

      然后就是关于算法分析 了。仅仅从程序上看算法的效率是由他的运行时间决定的。比如说循环次数,分支等等。但是这里在实际中存在另一种可能性,就是使用率 。我认为,使用率去决定算法的最终实现,在实际中的效果会比其他的分析方法更加的高效。所以我们要在成为一个好的程序员的同时成为某一个领域(比如金融、比如医药)方面的能手。

      当然基本的分析方法还是要谈谈:

      1.时间分析(效率分析):分析基本运算次数的数量级。

      2.空间分析:考虑最坏的情况。

      在现在商务中,由于存储的价格降低,我们可以认为空间是无限大的,然后去设计算法。而且我们还有云计算。

 

     综上所述,我们设计一个算法,一个程序,基本需要考虑的问题:

     1.团队的知识能力。也就是说能看懂哪个层次的算法。

     2.程序面向的主要使用者的使用方式。

     3.软硬件资源。到底是空间更多,还是计算能力更快,合理利用这些资源。

0
1
分享到:
评论

相关推荐

    四川大学数据结构实验一

    在四川大学的数据结构课程中,实验一通常会涉及基础的数据结构概念和C语言编程实践。数据结构是计算机科学中的核心课程,它研究如何有效地存储、组织和管理数据,以便进行高效的检索、插入和删除等操作。这个实验...

    数据结构1800题及答案

    数据结构是计算机科学与技术专业的核心课程之一,主要研究如何存储、组织数据以便于使用或处理。本资料的内容覆盖了数据结构的多个重要方面,包括但不限于数组、链表、栈、队列、树、图、查找和排序等。 从内容中,...

    数据结构面试心得超详细重点知识点总结 数据结构栈与队列.docx

    一、数据结构的一般概念 重点详细内容知识点总结: 数据:所有能被输入到计算机并被处理的符号的集合。 数据元素:数据的基本单位。 数据项:构成数据的不可分割的最小单位,一个数据元素由若干个数据项组成。...

    数据结构 数据结构 数据结构 数据结构 数据结构

    1. **数组**:数组是最基础的数据结构,它将一组相同类型的元素存储在一个连续的内存空间中。通过索引可以快速访问任意位置的元素,但插入和删除操作相对较慢,因为可能需要移动大量元素。 2. **链表**:链表是一种...

    数据结构与算法大全数据结构与算法大全

    例如,如果一个数据结构可以通过简单的“线性规则”转化为线性数据结构(如线性表),那么它就可以被认为是一个好的数据结构。这样的数据结构通常可以支持高效的算法。例如,树是一种非常好的数据结构,因为它具有...

    数据结构入门教程学习攻略 数据结构看这个章节总结就够了

    一、数据结构概述 二、线性表 三、栈与队列 四、数组与字符串 五、树与二叉树 六、图 七、排序算法 八、查找算法 九、哈希表与散列法 十、高级数据结构 一、数据结构概述 重点内容: 数据结构的定义与重要性 数据...

    数据结构王卓部分第一部分PPT.rar

    树是一种非线性数据结构,由节点和边构成,每个节点可能有零个、一个或多个子节点。二叉树是最常见的树类型,每个节点最多有两个子节点。二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的元素...

    上海交大数据结构课件 上海交大数据结构课件

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中高效地组织和存储数据,以便于进行各种操作。上海交通大学的数据结构课件是学习这一主题的重要资源,它涵盖了广泛的知识点,帮助学生深入理解数据结构...

    数据结构实验一、二、三实验报告

    本实验报告集合涵盖了数据结构实验的一、二、三个部分,旨在帮助北京信息科技大学计算机科学专业的学生深入理解和掌握数据结构的基本概念和实现方法。 实验一通常涉及线性数据结构,如数组、链表和栈。数组是一种...

    郝斌 数据结构源代码和数据结构 大纲

    郝斌老师的《数据结构》课程因其深入浅出的讲解,成为许多初学者掌握这一领域的宝贵资源。这里我们将详细讨论数据结构的基础概念、常见的数据结构类型以及C语言实现这些数据结构的方法。 1. **数组**:数组是最基本...

    数据结构1800试题.pdf

    - **栈**和**队列**:栈是一种后进先出(LIFO)的数据结构,而队列是先进先出(FIFO)的。它们在程序设计中广泛应用,如递归、函数调用和任务调度。 - **哈希表**:通过散列函数快速查找数据,提供常数时间的查找...

    数据结构教程 by 李春葆

    李春葆教授的数据结构教程是一本广泛使用的教材,它深入浅出地介绍了这一领域的基本概念和算法。在这个教程中,读者将接触到各种类型的数据结构,如数组、链表、栈、队列、树、图以及散列表等,这些数据结构在实际...

    西北民族大学--数据结构考试卷答案.pdf

    数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 数据结构分类 数据结构可以分为线性结构和非线性结构两大类。线性结构包括链式存储和顺序存储,非线性结构包括树形结构和图形结构。 数据...

    严蔚敏数据结构动态演示

    严蔚敏教授的《数据结构》是一本经典的教材,深入浅出地介绍了各种数据结构及其算法。"严蔚敏数据结构动态演示"正是基于这本书的内容,通过动态的方式帮助学习者更直观地理解数据结构。 首先,我们来看一下数据结构...

    王道数据结构.zip

    栈是一种后进先出(LIFO)的数据结构,常用于表达式求值、递归等场景;队列则是先进先出(FIFO)的数据结构,常用于任务调度和消息传递。 接下来,我们会深入学习树形结构,包括二叉树、平衡树和堆。二叉树是最简单...

    数据结构(唐发根)

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中高效地组织和存储数据,以便于进行各种操作。唐发根教授的数据结构教程是一部深受初学者欢迎的教材,它全面且深入地介绍了数据结构的基本概念、算法和...

    数据结构的pdf课件

    这份“数据结构的pdf课件”是学习这一主题的重要资源,尤其对于初学者来说,它能提供系统性的指导和深入的理解。 课件可能涵盖以下关键知识点: 1. **基本概念**:首先会介绍数据结构的基本概念,包括什么是数据...

    西安理工大学863数据结构真题 -西安理工大学863数据结构真题需要的滴滴我,都是我去年备考时的真题资料,还有复试资料哦~

    2. 链表(Linked List):是一种动态分配存储空间的数据结构,每个节点包含数据和指向下一个节点的指针。 3. 栈(Stack):是一种后进先出的数据结构,元素的添加和删除操作都在栈顶进行。 4. 队列(Queue):是一种...

    王道考研——数据结构PPT.zip

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中组织、存储和管理数据,以便高效地进行各种操作。王道考研的数据结构PPT涵盖了这门学科的关键概念和技术,对于准备考研的学生来说,是一份非常有价值...

Global site tag (gtag.js) - Google Analytics