《算法分析与设计》第二周课堂笔记 孙晓 老湿
2011-03-07 13:23
260 查看
孙晓 老湿 《算法分析与设计》第二周课堂笔记
一.矩形三等分问题
问题描述:通过折叠将一张矩形的纸分成三等份
解法一:
如上图所示:
1.沿FI对折,再沿着EJ对折,然后在沿着AD对折。
2.展开矩形,沿着ABCD的对角线BD对折
3.把角B向D折叠,折出三条折线,使产生的折现分别已A,E,F为端点,并且要使对角线BD重合。
4.此时折出的三条折现分别是:AC,EH,FG,他们在BC边上的端点GH将BC边等分为三等份。
5.剩下的就简单了。
二.面试题
1.判断2,4,8,16等2的N次幂。
解答:if(X&(X-1))
说明:利用二进制解答:
输入值 2 4 8 16
二进制 10 100 1000 10000
二进制-1 01 011 0111 01111
两者做与 0 0 0 0
所以,如果输入值是2的N次幂,那么(X&(X-1)) ==0
2.完成字符串拷贝函数:
说明:首先要判断指针时候为空。
三.排序算法:
冒泡排序
插入排序
选择排序
堆排序
希尔排序
箱排序
桶排序
一.矩形三等分问题
问题描述:通过折叠将一张矩形的纸分成三等份
解法一:
如上图所示:
1.沿FI对折,再沿着EJ对折,然后在沿着AD对折。
2.展开矩形,沿着ABCD的对角线BD对折
3.把角B向D折叠,折出三条折线,使产生的折现分别已A,E,F为端点,并且要使对角线BD重合。
4.此时折出的三条折现分别是:AC,EH,FG,他们在BC边上的端点GH将BC边等分为三等份。
5.剩下的就简单了。
二.面试题
1.判断2,4,8,16等2的N次幂。
解答:if(X&(X-1))
说明:利用二进制解答:
输入值 2 4 8 16
二进制 10 100 1000 10000
二进制-1 01 011 0111 01111
两者做与 0 0 0 0
所以,如果输入值是2的N次幂,那么(X&(X-1)) ==0
2.完成字符串拷贝函数:
char * strcpy(char * strDest,const char *strSrc) { //判断指针时候为空 assert((strDest!=null)&&(strSrc!=null)) char * address=strDest; while((*strDest++=*strSrc++)!='/0') return address }
说明:首先要判断指针时候为空。
三.排序算法:
冒泡排序
插入排序
选择排序
堆排序
希尔排序
箱排序
桶排序
相关文章推荐
- 《管理概论》第二周 课堂笔记与学习心得
- jsp课堂笔记1
- java课堂笔记
- 课堂笔记_图形学基础课程_简单认知00
- 计算机网络原理与应用3.15课堂笔记
- 11.20课堂笔记-jQuery基础、jQuery对象和DOM对象、jQuery选择器
- java课堂 笔记
- [课堂笔记]在VMware Workstation上安装linux系统的高级操作(自定义)--有界面安装
- Android课堂学习笔记——课后练习
- java自学资源(32期(包含视频及课堂笔记及课件))基础班+就业班
- Java笔记系列(基于马士兵的课堂)(4)-常用类
- 斯坦福大学公开课 :Andrew Ng 机器学习课堂笔记之第一节(机器学习的动机与应用)
- 状态压缩 DP 入门课堂笔记
- # 第二周课堂实践以及MyOD
- 软件需求工程 课堂笔记9
- 软件需求工程 课堂笔记6
- 内部类 - JAVA课堂笔记整理
- 百人实战PADS9.5课堂录像学习笔记
- 课堂笔记-工厂模式
- Boolan 第二周笔记