嵌入式每日学习心得2017.07.25
来源:互联网 发布:java deleteonexit 编辑:程序博客网 时间:2024/06/05 04:32
1二分查找
前提:有序
时间复杂度:log2^n
空间复杂度
步骤:
1取出未查找区间的中间值(left+right)/2
2查找关键字key与中间值进行比较:如果key>mid(key在右边),key<mid(key在左边),key=mid说明查找成功
3key!=mid,则循环1到2步骤,直到区间不存在为止
2结构体(struct)
srtuct 类型
{
属性
}
定义变量:引用成员
./-> 注:->优先级大于*
指针与结构体变量:
struct 类型* 变量名
以定义类型的顺序进行初始化
以A.B的形式进行引用
分配空间时,会以字节对齐
以最大长度类型作为基本分配空间单位
如果此成员分配的空间足够使下面的成员使用,则会共享
3栈(stack)
先进后出
应用:函数调用,高级功能计算器,取优先级
功能:复杂数据类型
栈顶:允许被操做的一端
栈底:不允许被操作的的一端
压栈 push()
出栈 pop()
栈是否为满 isfull()
栈是否为空 isempty()
进栈:A->B->C->D
出栈:D->C->B->A
高级功能计算器
中缀表达式 :1+1
后缀表达式 :1 1+
前缀表达式 :+1 1
后缀
1数字进栈
2如果是运算符则将栈顶与次栈顶取出,进行运算并再次进栈
3直到后缀表达式遍历完成
中缀转后缀
1将中缀表达式从左往右遍历
2如果是数字则成为后缀表达式一部分,如果是运算符时:
(1)如果是(或栈为的优先级空时直接入栈
(2)如果是)则将栈顶元素依次出栈,直到遇到主括号为止
(3)如果当前运算符的优先级高则进栈,否则出栈。出栈到栈顶元素要优先级低于时或栈为空时停止
(4)直到遍历完成
例:
中表达式式: (3+2)-4*2+9
后缀表达式: 3 2 + 4 2 * - 9 +
前提:有序
时间复杂度:log2^n
空间复杂度
步骤:
1取出未查找区间的中间值(left+right)/2
2查找关键字key与中间值进行比较:如果key>mid(key在右边),key<mid(key在左边),key=mid说明查找成功
3key!=mid,则循环1到2步骤,直到区间不存在为止
2结构体(struct)
srtuct 类型
{
属性
}
定义变量:引用成员
./-> 注:->优先级大于*
指针与结构体变量:
struct 类型* 变量名
以定义类型的顺序进行初始化
以A.B的形式进行引用
分配空间时,会以字节对齐
以最大长度类型作为基本分配空间单位
如果此成员分配的空间足够使下面的成员使用,则会共享
3栈(stack)
先进后出
应用:函数调用,高级功能计算器,取优先级
功能:复杂数据类型
栈顶:允许被操做的一端
栈底:不允许被操作的的一端
压栈 push()
出栈 pop()
栈是否为满 isfull()
栈是否为空 isempty()
进栈:A->B->C->D
出栈:D->C->B->A
高级功能计算器
中缀表达式 :1+1
后缀表达式 :1 1+
前缀表达式 :+1 1
后缀
1数字进栈
2如果是运算符则将栈顶与次栈顶取出,进行运算并再次进栈
3直到后缀表达式遍历完成
中缀转后缀
1将中缀表达式从左往右遍历
2如果是数字则成为后缀表达式一部分,如果是运算符时:
(1)如果是(或栈为的优先级空时直接入栈
(2)如果是)则将栈顶元素依次出栈,直到遇到主括号为止
(3)如果当前运算符的优先级高则进栈,否则出栈。出栈到栈顶元素要优先级低于时或栈为空时停止
(4)直到遍历完成
例:
中表达式式: (3+2)-4*2+9
后缀表达式: 3 2 + 4 2 * - 9 +
阅读全文
0 0
- 嵌入式每日学习心得2017.07.25
- 嵌入式每日学习心得2017.07.07
- 嵌入式每日学习心得2017.07.08
- 嵌入式每日学习心得2017.07.10
- 嵌入式每日学习心得2017.07.11
- 嵌入式每日学习心得2017.07.12
- 嵌入式每日学习心得2017.07.13
- 嵌入式每日学习心得2017.07.14
- 嵌入式每日学习心得2017.07.17
- 嵌入式每日学习心得2017.07.18
- 嵌入式每日学习心得2017.07.19
- 嵌入式每日学习心得2017.07.20
- 嵌入式每日学习心得2017.07.21
- 嵌入式每日学习心得2017.07.24
- 嵌入式每日学习心得2017.07.26
- 嵌入式每日学习心得2017.07.28
- 嵌入式每日学习心得2017.07.31
- 嵌入式每日学习心得 线程
- 常用python代码
- 如何在后台启停服务及查看服务状态
- Android 简述Gson与台后交互的BUG
- Android监听ScrollView 滑块位置(预加载)
- Mysql数据库相关操作
- 嵌入式每日学习心得2017.07.25
- 扩展阅读 越牛越低调
- c++使用vector建立最大堆和最小堆
- c#第一天练习题
- MySQL 连接的使用
- 选择排序
- HDU 6034 Balala Power! 排序 贪心
- 查看SharedPreferences中保存的数据
- 思维体操: HDU1022Train Problem I