Code Monkey home page Code Monkey logo

cdemo's Introduction

数据结构

基本概念

数据

数据元素

一个数据元素由若干数据项组成

数据项

数据结构

各个元素之间的==关系==

数据对象

具有==相同性质==的数据元素的集合

数据类型

抽象数据类型(ADT)

image-20210323204454318

数据结构图

image-20210323203207464

数据结构的三要素

逻辑结构

集合

线性结构

树形结构

图状结构(网状结构)

物理结构(存储结构)

顺序存储

非顺序存储

链式存储
索引存储
散列存储

数据的运算

算法

程序=数据结构+算法

算法的特性

有穷性

有穷事件内能执行完

算法是有穷的

程序可以是无穷的

确定性

相同输出只会产生相同输出

可行性

可以用已有的基本操作实现算法

输入

丢给算法处理的数据

输出

算法处理的结果

"好"算法的特质

正确性

可读性

健壮性

高效率与低存储量需求

算法效率的度量

时间复杂度

空间复杂度

线性表

定义

逻辑结构

线性表是具有相同数据类型的n个元素的有限序列

存储结构分为顺序表和链表

线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不能互相混淆

也就是说线性表这一种逻辑结构对应的的存储结构分为顺序表链表

基本操作

运算

顺序表

实现:静态分配

局限性: 顺序表的内存空间是不可调的 存在不机智性 容易对内存空间产生溢出或者滥用

实现:动态分配

// 动态分配
//typedef struct{
//    int length;   // 顺序表的当前长度
//    int MaxSize;  // 顺序表的最大容量
//    int *data;     // 指示动态分配数组的指针
//}SqList;          // 顺序表的类型定义(动态分配方式)

key: 动态申请和释放内存空间

malloc 申请

free 函数

cdemo's People

Contributors

q6378561 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.