求一个任意实数c的算术平方根g的算法设计思想_NOIP初赛知识点总结 程序设计基本知识...

程序设计基本知识

程序 = 算法 + 数据结构

算法

算法: 解决一个实际问题的方法和具体步骤。算法是程序设计的灵魂。

算法特征

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

一个算法有一个或多个输出,以反应对输入数据加工后的结果,这是算法设计的目的。它们是同输入有着某种特定关系的量。

算法的基本结构

任何一个算法都可以表示成三种基本结构:顺序结构、分支结构和循环结构。

  • 顺序结构

顺序结构是一种最简单、最基本的控制结构。计算机从前往后,依次执行所有的操作步骤,不遗漏、不重复

  • 选择结构

选择结构由一个“判断条件”和两个“分支”构成,根据判断条件的成立与否,决定执行哪一条分支路径

  • 循环结构

循环结构又称重复结构,目的是将某一条或某一组语句重复执行若干次,其中的“某一条或某一组语句”称为循环体。

算法的时间复杂度

  1. 时间复杂度:算法运行需要的时间, 一般将语句执行次数作为时间复杂度
8d56d91d4b5edc056b2914ff5ce7404e.png

算法的空间复杂度

  • char/bool : 8bit 比特, 1字节 1B
  • int  : 32bit 比特, 4字节 4B
  • float : 32b 4B
  • long long: 64bit 比特, 8B字节

基础算法

  • 高精度计算
  • 穷举算法
  • 排序
  • 递推
  • 递归
  • 搜索
  • 贪心
  • 分治
  • 动态规划
1e4e59aa8086b4b5c19bfcce1924fcf1.png

程序的运算

C++ 优先级

优先级 运算符 结合律 助记
1 :: 从左至右 作用域
2 a++; a--; type(); type{}; a(); a[]; .; ->; 从左至右 后缀自增减、函数风格转型、函数调用、下标、成员访问
3 !; ~; ++a; --a; +a; -a; (type); sizeof; &a; *a; new; new[]; delete; delete[]; 从右至左 逻辑非、按位非、前缀自增减、正负、C 风格转型、取大小、取址、指针访问、动态内存分配
4 .*; ->* 从左至右 指向成员指针
5 a*b; a/b; a%b; 从左至右 乘除、取模
6 a+b; a-b; 从左至右 加减
7 << ; >> 从左至右 按位左右移
8 ; >=; 从左至右 大小比较
9 ==; !=; 从左至右 等价比较
10 a & b 从左至右 按位与
11 a ^ b 从左至右 按位异或
12 a | b 从左至右 按位或
13 a && b 从左至右 逻辑与
14 a || b 从左至右 逻辑或</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值