自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 《C算法》读书笔记9:希尔排序的性质研究

接上文。增量序列h有两条重要性质: 首先,定义h排序结束后的数组为h有序。 1、k排序一个h有序的数组,得到的数组既为k有序也为h有序。 2、当k、h互质时,对该新数组进行g排序,比较次数少于N(k−1)(h−1)/gN(k - 1)(h - 1)/g 下面是一个很不错的增量序列hi=1,8,23,77,281,1073,4193,16577...h_i = {1, 8, 23, 77, 2

2015-08-26 10:47:02 930

原创 《C算法》读书笔记8:shell sort

希尔排序 shellsortshell \quad sort是变种的插入排序 insertsortinsert \quad sort。在面对部分有序数据的时候,插入排序的效率接近O(n)O(n),因为插入排序的交换效率直接取决于逆序数对的数量。 插入排序的缺点是两次相邻的外循环不能交换太远的项ItemItem,必须依次从左到右进行,假如运气不好,最小键所在项在最右边,就得需要N步才能结束。void

2015-08-25 23:46:55 562

原创 《C算法》笔记7:词法解析树

利用前缀表达式,我们可以建立一棵解析树#include <cstdio>#include <cstdlib>typedef struct node* link;const char sz[256] = "* + 10 2 + 3 4";int pos;struct node{ link l, r; int item; char token;};link new_lin

2015-08-20 15:12:38 506

原创 《C算法》读书笔记(6):词法分析

P139,程序5-4 利用递归解析前缀表达式 小Tips:前缀表达式、中缀表达式、后缀表达式 普通的计算机表达式就是中缀表达式,操作数在两侧,操作符在中间,例如(a+b)∗(c+d)(a+b)*(c+d) 前缀表达式和后缀表达式是编译器中常用的中间转换模式,由波兰数学家J.Lukasiewicz发明,也称为波兰式和逆波兰式。前缀表达式的操作符在前面,后面为两个操作数,例如∗+ab+cd*+a

2015-08-19 10:15:57 459

原创 最小二乘法

Least Mean Squares是进行线性回归的常用方法。它选择的回归模型应该使所有观察值的误差平方和达到最小。 一元线性样本回归模型如公式所示:Yi=A^Xi+B^+eiY_i=\hat AX_i+\hat B+e_i ei=Yi−A^Xi−B^[1]e_i=Y_i-\hat AX_i-\hat B \qquad [1] 即求一组A,BA,B使得∑ni=1e2i\sum_{

2015-08-17 20:20:17 495

原创 《C算法》读书笔记(5):单向链表逆序

P71,3-10很简单的程序,debug了好一会。 最重要的是思路清晰。#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>using namespace std;typedef struct node *link;struct node { int

2015-08-16 21:32:57 378

原创 《C算法》读书笔记 (4):Hello,Joseph!

P67, 3-8 约瑟夫问题上一篇文章中提到了使用链表模拟约瑟夫问题求解。约瑟夫问题是这样的 :假设有N个人决定选出一名领导,将所有人排成一个圆周,从1编号到N。现在从1开始,数M个人,最后的M出列。重复上述步骤,直到只剩下一个人,该人即为领导。 首先定义链表的数据结构:typedef struct node *link;struct node { int item; link

2015-08-16 20:39:45 412

原创 《C算法》读书笔记 (3):素数筛法

P58 3-5 厄拉多塞筛来自度娘的解说: 埃拉托色尼选筛法(the Sieve of Eratosthenes)简称埃氏筛法,是古希腊数学家埃拉托色尼提出的一种筛选法。 是针对自然数列中的自然数而实施的,用于求一定范围内的质数。步骤如下: (1)先把1删除(现今数学界1既不是质数也不是合数) (2)读取队列中当前最小的数2,然后把2的倍数删去 (3)读取队列中当前最小的数3,然后把3的倍数

2015-08-16 18:12:31 630

原创 《C算法》读书笔记 (2):约瑟夫

《C算法》P67,约瑟夫问题(循环链表求解)关于建链表,起初我以为是这样的:#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>using namespace std;typedef struct node *link;struct node { int

2015-08-15 23:52:03 460

原创 《C算法》读书笔记 (1):xutility(764) error C2039

C算法读书笔记 (1)

2015-08-14 22:43:27 910

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除