C语言基础-基本算法

在之前的两篇文章中介绍了C语言的入门程序入门程序1入门程序2,从这篇文章我们就开始介绍C语言基础。
今天来给大家介绍算法的特性和算法的表示。

算法的基本特性

算法包含两方面的内容:算法设计和算法分析

算法设计其实就是针对某一特定类型的问题而设计的一个实现过程。算法有以下几个特性:

  • 有穷性
  • 确定性
  • 可行性
  • 输入
  • 输出

也就是说我们在设计算法是的满足上面所说的特性。当然算法也是有好有坏的,那么我们怎样去衡量一个算法的优劣呢?
算法分析其实就是在衡量一个算法的优劣,通常会从一下几个方面来分析:

  1. 正确性
  2. 可读性
  3. 健壮性
  4. 时间复杂度和空间复杂度

算法的表达方式

在描述一个算法时通常使用的方法有:自然语言、流程图、N-S图等。

自然语言

自然语言这种表达方式通俗易懂,我们通过一个具体的实例了解一下。
需求:任意输入3个数,求出其中的最小数。
(1) 定义4个变量分别是a,b,c和min。
(2) 输入大小不同的三个数分别赋值给a,b,c。
(3) 判断a是否小于b,如果小于,则将a的值赋给min,否则将b的值赋给min。
(4) 判断min是否小于c,如果小于,则执行(5),否则将c的值赋给min。
(5) 输出min。
这种表达方式的好处就是简单易懂,但是当遇到复杂的算法时自然语言就显得不是很方便了。

流程图

流程图就是用一些图框来代表各种不同性质的操作,用流程线来指示算法的执行方向。他的特点就是直观形象,应用很广泛。
下图介绍了流程图的符号以及含义


流程图有三种基本结构,即顺序结构、选择结构和循环结构。

  • 顺序结构:顺序结构就是简单的线性结构
  • 选择结构:选择结构也称为分支结构
  • 循环结构:反复执行一系列操作,知道条件不成立时终止。

我们再把上面的需求用流程图来表示一下

N-S流程图

N-S流程图是将全部的算法写在一个矩形框内,省去了流程图中的流程线。下面继续看一个实例:
需求:输入一个数,判别是否为素数。

算法的基本特性和算法的表示介绍到就结束了。


往期文章
C语言学习入门01
C语言学习入门02

如果您觉得本篇文章对您有帮助,请转发给更多的人


【C语言中文社区】是一个C语言视频教程、学习笔记、电子书、计算机二级资料等专注于C语言编程学习者的干货知识分享平台,精选深度文章,分享优秀干货类、技能类的学习资源,帮助学习中的你。

长按二维码关注我们
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 8,984评论 0 13
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,096评论 1 32
  • 过年假期随手翻看了“卖晾衣杆的小贩为何不会倒”。其实早听说过这本书,还是在长投学堂学习的时候听老师讲的,老版的书名...
    付维亮阅读 526评论 1 0
  • 【望山】 沉于天地一指尖,俯瞰尘世万事中。大气磅礴引人敬,宛若屏障为你添。 草木丰,百花添,引得敬意堪生颜。 用此...
    李语昕阅读 255评论 0 0
  • 对接的领导越多,对我的考验越大,好好加油!争取有一番作为!
    聂一一阅读 94评论 0 0