C语言数据结构和算法分析

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

2019-08-11  本文已影响1人  Y_No_Look

一.什么是数据结构

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

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

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

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

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


二.什么是算法

没有官方的....

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

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

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

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


三.数据的存储结构

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

1.线性存储

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

    线性结构的应用---栈

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

2.非线性存储

       树和图


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

1.数组

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

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

                     必须事先知道数组的长度

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

2.链表

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

                     插入删除的速度快

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

上一篇 下一篇

猜你喜欢

热点阅读