美文网首页C语言数据结构和算法分析
C语言-数据结构与算法-小结(数组与链表)

C语言-数据结构与算法-小结(数组与链表)

作者: Y_No_Look | 来源:发表于2019-08-11 21:56 被阅读1次

    一.什么是数据结构

    赫斌老师对数据结构赫算法的理解:哔哩哔哩(P29)

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(官方)

    狭义:数据结构是专门研究数据存储的问题(赫斌老师的理解)

    广义:数据结构即包含数据的存储也包含数据的操作(赫斌老师的理解)

    数据结构是存储数据的一种方式.(这是我的理解可能会有错误)


    二.什么是算法

    没有官方的....

    算法是对存储数据的操作(赫斌老师)

    狭义:算法是和数据的存储方式密切相关(赫斌老师)

    广义:算法和数据的存储方式无关,这就是泛型思想(赫斌老师)

    算法是解决问题的方法,就相当于排序就有很多方法一样(这是我的理解可能会有错误)


    三.数据的存储结构

    数据的存储结构简单可以分为:两种

    1.线性存储

        连续存储(数组)和离散存储(链表)

        线性结构的应用---栈

        线性结构的应用---队列

    2.非线性存储

           树和图


    四.线性结构的优缺点(数组和链表两个对比的优缺点)

    1.数组

                优点:存取速度快(连续的)

                缺点: 插入和删除速度慢(因为都是连续的,每插入或删除一个元素需要将它前面的数组向左或向右移动)

                         必须事先知道数组的长度

                         需要大块连续内存(内存必须连续)

    2.链表

                优点: 空间没有限制(只要电脑有足够的内存)

                         插入删除的速度快

                缺点:存取速度慢(不连续)

    相关文章

      网友评论

        本文标题:C语言-数据结构与算法-小结(数组与链表)

        本文链接:https://www.haomeiwen.com/subject/pttejctx.html