数据结构笔记--01

数据结构概述

定义:我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法。

数据结构 = 个体 + 个体的关系

算法 = 对存储数据的操作

算法:

  解题的方法和步骤

  衡量算法的标准:

 1.时间复杂度

             大概程序要执行的次数,而非执行的时间

2.空间复杂度

      算法执行过程中大概所占用的最大内存

3.难易程度

4.健壮性

数据结构的地位

数据结构是软件中最核心的课程

程序 = 数据的存储 + 数据的操作 + 可以被计算机识别的语言

预备知识

  指针

              指针的重要性:指针是c语言的灵魂

              定义:地址:内存单元的编号

地址:

               指针就是地址  地址就是指针

               指针变量是存放内存单元地址的变量

               指针的本质是一个操作受限的非负整数

分类:

                1.基本类型的指针

                2.指针和数组的关系

  结构体

                 为什么会出现结构体

                         为了表示一些复杂的数据,而普通的基本类型变量无法满足要求

                 什么叫结构体

                         结构体是用户根据实际需要自己定义的复合数据类型

                 如何使用结构体

                        struct student st = {1.,“张三”,20};

                        struct student * pst = &st;

                      1.st.sid

                       2.pst->sid

  动态内存的分配和释放

               malloc函数

模块一:线性结构

连续存储:数组

离散存储:链表

线性结构的两种常见应用之一   栈

线性结构的两种常见应用之一   队列

专题:递归

1. 1+2+3+4+...+100的和

2.求阶乘

3.汉诺塔

4.走迷宫

 模块二:非线性结构

  树  图

模块三:查找和排序

择半查找

排序:冒泡  插入 选择 快速排序   归并排序

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值