C语言基础-基本算法

作者: C语言中文社区 | 来源:发表于2018-12-24 20:36 被阅读15次

在之前的两篇文章中介绍了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语言的入门程序入门程序1,入门程序2,从这篇文章我们就开始介绍C语言基础。今天来给大家介...

  • Java开发学习之路

    Java开发的学习之路 基础知识 编程语言:Java Python C 基本算法 基本网络知识:TCP/IP HT...

  • C基础算法

    C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...

  • 怎么进入游戏开发领域?

    先学好一门基础的编程开发语言,掌握基本的数据结构与常用的算法,比如C/C++,C/C++与数据结构,比如Java与...

  • 阶段02#大三·下

    A 书籍 C程序设计语言 Java学习指南 C++语言基础教程 数据结构与算法分析 算法设计与分析基础 计算机网络...

  • [上嵌学习系列] 上嵌第一个月课程如何学

    内容:Linux基础,C语言基础,C语言高级要求:1) 掌握Linux基本命令2) 掌握程序逻辑3) 掌握开发基本...

  • Java学习路线?

    基础知识 编程语言: Java Python 基本算法 基本网络知识:TCP/IP HTTP/HTTPS 基本的...

  • 开工

    能力地图 基础技术能力 架构能力 项目管理能力 基础技术能力 基础技术,如数据结构、算法 编程语言,如c/c++/...

  • 【OC梳理】基本数据类型和基本运算

    Objective-C作为以C语言为基础的语言,其基本数据类型与C语言类似。 1.基本数据类型 基本数据类型可以参...

  • C语言程序设计教程(1)

    第一章是C语言程序设计基础,介绍了该语言是用来干嘛的,什么是算法和对算法的描述,C语言的来龙去脉,特点结构及上机步...

网友评论

    本文标题:C语言基础-基本算法

    本文链接:https://www.haomeiwen.com/subject/unktlqtx.html