课件09年专升本数据结构.docVIP

  • 0
  • 0
  • 约3.9万字
  • 约 59页
  • 2018-04-23 发布于河南
  • 举报
课件09年专升本数据结构

一、会:基本概念,基本思想(要求) 二、懂:思想证明(不必) 三、写:C代码(掌握链表,递归,排序) 第一章 引论 一、算法:若干指令组成的有限序列。 五个特征:输入、输出、确定性、有限性、可行性。 二、数据结构=逻辑结构,物理结构 数据逻辑结构(顶层):三种,线性、层次(树)、图, 逻辑结构是: 成分数据 +成分数据之间关系 数据元素(成分数据):一个同学档案 数据项:姓名、生日、学号.... 数据物理结构(底层,存储结构):两种,顺序(数组)、非顺序(链表) 同一个逻辑结构可以在不同的物理结构中实现, 但是各种操作算法的具体实现代码不同 (比如在数组插入,在链表中插入算法不同) 涉及题目: 05年 二(1,3) 三、复杂度=占用资源的多少,时间、空间 O(...),表示数量级 O(1)O(log2n)O(n)O(n*log n) O(n^k)O(2^n) 1、时间复杂度 相对时间,一条指令(语句)运行时间 为1计算: 非递归=主要循环(最费时)执行的次数 递归= 结果中的常数(0)和系数(1),低阶全 部去掉(0) 3n+7+0.5*n*n=O(n*n) 复杂度类型:最好、最坏、平均 2、空间复杂度:辅助数据空间,如果没 有,则是O(1) 涉及题目: 08年 2,3,9,12 07年 15 四、结构类型、变量、指针 (抽象数据类型不会考): 1、什么是类型?类型是模板,用于定义变量 int double float char ... 如果不定义变量,类型没用 int x; x占2字节 double y; y占8字节 说法:int占2字节,double占8字节 实际上x,y占字节 生活模板 C语言 ======================= 二居室模板 图纸规划 类型 int double 主卧20平方 小卧10平方 客厅20平方 厨房10 厕所4 阳台4 总计68平方 ---------------------- 房子盖好 int x; 张三家是二居室 x是整型变量 ==================== 类型:名字,大小,不占内存 变量:名字,大小,占内存 ================== C语言允许程序员自己定义类型? 因为C语言原来的类型太少! 比如要存储处理学生档案数据 学号:整数 姓名:字符串8个字符 性别:字符,M,F 地址:字符串40个字符 分数:浮点数组[30] -------------- 定义结构类型 int num; char name[8]; char sex; char addr[40]; float score; typedef struct student{ int num; 2 成员 char name[8]; 8 char sex; 1 char addr[40]; 40 float score; 4 }STUDENT; 定义一个结构类型! 名字sturct student或者STUDENT,大小55字节 ------------- 定义结构变量 struct student student1, student2,stu[100],*p; 或者 STUDENT student1, student2,stu[100],*p; p自己占4个字节,管65字节 p里只存一个地址,; int x,y; x=8; 注意: 类型名不能用作变量名 以下代码大错!! scanf(%d,%s,%c,%s, %f,student1); printf(%d,%s,%c,%s, %f,student1); ---------------------------------- 引用结构体变量中成员的方式为 结构体变量名.成员名 student1.num=101; student1.name[0]=T; student1.name[1]=o; student1.name[2]=m; student1.name[3]=\0; student1.sex=M; student1.score=80.5; 张三家.厨房 李四家.厨房 student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student2.age; scanf(%d,%s,%c,%s, %f, student1.num, st

文档评论(0)

1亿VIP精品文档

相关文档