C语言-程序逻辑篇-chap01-v1.0

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言的程序逻辑——第一阶段2/31BENET4.0BENET4.0欢迎进入C语言第一阶段的学习本阶段学习的内容和课程结构安排算法和数据结构概论第1章C语言基础和数据类型2-4章程序结构5-7章数组第8章字符串第9章函数模块第11-12章指导案例安排在第10章欢迎词第一章:算法——理论部分4/31BENET4.0BENET4.0数据结构的概念和作用算法的概念和作用结构化程序设计的方法三种基本结构程序流程图和N-S流程图技能展示5/31BENET4.0BENET4.0数据结构是程序存储、组织数据的方式数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:是数据的基本单位在计算机程序中通常作为一个整体进行考虑和处理。数据对象:是性质相同的数据元素的集合是数据的一个子集。数据结构概论6/31BENET4.0BENET4.0线性结构数组、链表、队列、栈树状结构二叉树、哈夫曼树星状结构网状结构数据结构7/31BENET4.0BENET4.0数组结构0x000000010x000000020x000000030x00000004内存地址:A[0]A[1]A[2]A[3]数组元素:指针:数组是若干个相同数据类型的元素,按照有序排列构成的其存储特点是:存储在连续的内存地址空间内存地址都是连续的8/31BENET4.0BENET4.0数组的特点0x000000010x000000020x000000030x00000004内存地址:A[0]A[1]A[2]A[3]数组元素:指针:一旦其中某个非末尾元素被删除其余元素都要移动一个位置查找数组元素,只需要查找到第一个元素的地址,就能按照顺序找到相应的元素了9/31BENET4.0BENET4.0在插入或者是删除元素的时候,由于每次修改元素都要移动数组元素的位置,即修改数组的指针信息在查找数组元素的时候,只需要找到数组第一个元素的地址,就可以按照顺序找到相应的元素数组结构的特点所以:数组在插入或删除元素的时候,效率低查找元素的时候,效率高所以,数组结构适合应用于数据变动不大的场合10/31BENET4.0BENET4.0在制作网站的时候,如果是多个控件,就可以声明成控件数组。数组结构的应用场合$button[1]={style=“input”};formname=“input1”style=“buttom[1]”输入框控件1/formformname=“input1”style=“buttom[2]”输入框控件2/formformname=“input1”style=“buttom[3]”输入框控件3/formformname=“input1”style=“buttom[4]”输入框控件4/formformname=“input1”style=“buttom[5]”输入框控件5/formformname=“input1”style=“buttom[6]”输入框控件6/formformname=“input1”style=“buttom[7]”输入框控件7/formformname=“input1”style=“buttom[8]”输入框控件8/formformname=“input1”style=“buttom[9]”输入框控件9/form由于控件只需要读取,不需要改动,所以控件适合用数组的结构11/31BENET4.0BENET4.0链表结构0x000000010x000000190x000000220x00000027A[0]A[1]A[2]A[3]内存地址:指针:链表元素:链表结构:元素的存储内存地址是不连续的链表元素不仅包含元素自身的值,也包含相邻元素的地址信息12/31BENET4.0BENET4.0链表结构的特点0x000000010x000000190x000000220x00000027A[0]A[1]A[2]A[3]内存地址:指针:链表元素:删除一个数据的时候,只需要修改相邻元素的信息查找元素的时候,要根据首元素保存的地址,逐步查询,才能查到相应的元素13/31BENET4.0BENET4.0在向链表删除或插入元素的时候,只需要修改相邻两个元素的信息查找链表元素的时候,需要先查找第一个元素,根据第一个元素的地址查找下一个元素,这样循环下去才能找到相应的元素链表结构的特点所以:链表插入或删除元素的时候,效率高于数组链表适合于数据更改比较频繁的场合14/31BENET4.0BENET4.0链表应用的模型R1R2R310.0.0.020.0.0.030.0.0.040.0.0.0f0/0f0/1.1.2.1.2配置接口IP地址后路由表中生成直连路由RoutingTableNETMetricC20.0.0.00C30.0.0.00动态路由不需要手工写路由,路由器之间能够自己互相学习!我的路由表是:30.0.0.0和40.0.0.0我的路由表是:20.0.0.0和30.0.0.0我的路由表是:10.0.0.0和20.0.0.0RoutingTableNETMetricC20.0.0.00C30.0.0.00?10.0.0.0??40.0.0.0?不同的路由协议,有不同的值50.0.0.0更新路由信息:30.0.0.040.0.0.050.0.0.0RoutingTableNETMetricC20.0.0.00C30.0.0.0010.0.0.040.0.0.050.0.0.0根据拓扑变化做出及时反映距离矢量路由协议就是使用链表结构的模型15/31BENET4.0BENET4.0队列:一种“先进先出”的数据结构栈:一种“先进后出”的数据结构队列、栈队列的应用模型是邮件服务器的SMTP协议,这个可以参照邮局寄信,先提交到邮局的新建,先发送。栈的应用模型可以参照DNS的服务模式16/31BENET4.0BENET4.0循环队列是一种特殊的队列循环队列第一个元素和最后一个元素内存地址是相邻的对于循环队列,队头元素的指针不一定小于队尾元素的指针,他们之间是根据元素的个数,呈现一种“周期”的关系17/31BENET4.0BENET4.0树状结构不是一种线性结构树状结构树根树节点树分支如果一个树的分支叫做“树叶”,就表示该分支不可再分了。18/31BENET4.0BENET4.0算法是为了解决某一个问题或某一类问题,对步骤的描述算法的分类算术运算:加减乘除关系运算:大于、小于、等于、不等于逻辑运算:并且、或者、取反赋值运算:算法19/31BENET4.0BENET4.0描述法描述法就是用文字来描述算法特点:条理清晰,但难以理解算法的描述方法1烧开水(1)、洗干净壶(2)、装水,上火(3)、水烧开,灌开水到瓶子里20/31BENET4.0BENET4.0程序流程图程序流程图是用一组规定的形状来表示算法特点:简洁、直观,结构清晰,逻辑性强缺点:影响版面程序流程图的形状含义算法的描述方法执行语句结束条件判断数据流汇接点BEGIN21/31BENET4.0BENET4.0用表格形式的框图来表示算法特点:节省版面缺点:难以理解N-S流程图22/31BENET4.0BENET4.0时间复杂度执行这个算法需要花费的时间一般是代码的长短(问题的规模)和输入的数据有关空间复杂度执行这个算法需要占用的存储空间数据类型的占用空间,额外附加空间算法的衡量23/31BENET4.0BENET4.0自顶而下减小算法的时间复杂度模块化将大问题分隔成若干个小问题,每个模块专门负责一个小问题。逐步求精结构化程序设计24/31BENET4.0BENET4.0顺序结构分支结构循环结构三种程序结构25/31BENET4.0BENET4.0那些数据结构属于线性结构?说出链表和数组的异同说出三种算法的表示方法有哪三种程序结构?小结26/31BENET4.0BENET4.0案例1:有两个墨水瓶子,一个是蓝墨水,一个是红墨水,要求把蓝墨水和红墨水进行互换算法练习

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功