markdown简明语法
- 标题设置(让字体变大,和word的标题意思一样)
在Markdown当中设置标题,有两种方式:
第一种:通过在文字下方添加“=”和“-”,他们分别表示一级标题和二级标题。
第二种:在文字开头加上 “#”,通过“#”数量表示几级标题。(一共只有1~6级标题,1级标题字体最大)
1 | 在命令行模式下: |
####堆排序-heapsort
利用最大堆实现。
最大堆:最大堆性质是除了根结点意外的所有结点 i 都要满足A[parent[i]] >= A[i]
需要利用到的一个性质:当用数组表示存储n个元素的堆时,叶结点的下标分别是n/2, n/2+1, n/2 + 2, ……,n - 1. (下标从0开始)
需要用到的函数有:
void max_heapify(int a, int i) //通过让a[i]的值在最大堆中“逐级下降”,从而使得以下标i为根结点的字数重新遵循最大堆的性质。O(lgn)
void build_max_heap(int a) //对树中非叶结点都调用一次max_heapify(a, i)。 O(n)
void heapsort(int *a, int n) //对长度为n的数组a调用堆排序。 O(nlgn)
1 | //heapsort.cpp |
Tal主讲的哈佛公开课幸福课(positive psychology)看完了,学到了一些内容,抛开制度、社会等因素,仅从个人角度谈谈如何处理负面情绪。(科学严谨性有待证明)等你心情不好了可以看看。
我不太清楚大多数人是否快乐,但是大三之前的我肯定是不快乐的。即使到现在,我也不能说自己是个快乐的人,但是处理情绪的能力确实有所提升。每个人都有一个快乐基础水平,按照Tal的说法叫做”Happiness base level”,每天你会遇到各种各样快乐或者烦恼的事,所以你的情绪水平每天是在这个base level上下波动的,所以不能用一时的情绪水平衡量一个人是否快乐,需要用base level来衡量。当一个人独处时,有的人内心平和,心态良好,有的人却感觉内心失落,产生强烈的孤独感,前者的base level肯定是要高于后者的,而且对于基准较高的人即使遇到了烦心事也很快会恢复到较高的快乐水平。比较倒霉的是,我发现我这人的base level处于一个很低的水平,而且人的base level 50%和基因有关,也就是说有些不幸的人生来就注定快乐水平低,加上来自社会的各种压力,很多人就会感到不快乐。Tal说,北美很多学校感到抑郁的学生人数比例在40%多,提升人的快乐水平,推广积极心理学成为一件很重要的事。抛去环境因素和基因的影响,我们还是有一定的自主权去改善自己的情绪水平。幸福是人生的终极目标,幸福应是快乐和意义的结合。
####binary search中计算mid=(beg+end)/2与mid=beg+(end-beg)/2的区别?
这两种写法应该都见过,突然想起了这个问题,自己没想出来什么结果,感觉没有不同。后来再各种论坛问了问,结果都没能说出什么道理,还是stackoverflow比较牛,刚post上去没两分钟就给出来了答案。以后多逛逛stackoverflow吧。
http://stackoverflow.com/questions/20998982/whats-the-difference-between-mid-begend-2-and-mid-begend-beg-2-in-binary
以下是基于图的链表表示的:
dfs和bfs的演示:(具体见《算法导论》)
[深搜](http://sjjg.js.zwu.edu.cn/SFXX/sf1/gdyxbl.html)
[广搜](http://sjjg.js.zwu.edu.cn/SFXX/sf1/sdyxbl.html)
bfs通过检测边发现点,被发现点(但未探索)入队。(被探索是指是否检测过与该点相关联的临近顶点)一个顶点被完全探索当且仅当他的所有边被检测。一个顶点探索完选另一个顶点,被选点应位于被发现但未被探索点队列的队首。待探索点集为空时算法结束。(bfs探索顺序与发现顺序一致,dfs发现后马上探索)
算法分析中需要对各种算法进行性能测试,下面介绍两种通用的测试方法,由于只用到标准c语言函数,所以在各种平台和编译器下都能使用。
函数指针:指向函数的指针变量。本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。