第5章 分治法
5.1 合并排序 5.5 用分治法解最近对问题和凸包问题最近对问题
第6章 变治法
6.1 预排序例1 检验数组中元素的唯一性 例2 找出数字列表中最常出现的数值 6.2 高斯消去法 前向消去 其中代码for k<-n+1 downto i do使得A[j,i]在最后更新 采用了部分选主元法的前向消去 6.5 霍纳法则和二进制幂霍纳法则 12345678910111213141516171819202122#include <iostream>#include <vector>// 使用霍纳法则计算多项式的值double horner(const std::vector<double>& coefficients, double x) { double result = coefficients.back(); for (int i = coefficients.size() - 2; i >= 0; --i) { result = result * x + coefficients[i]; } return...
函数极值与规划模型
矩阵运算12345678910111213141516171819202122232425import numpy as npa=np.array([[1,2,3],[4,5,6]])b=np.array([[1,2],[3,4],[5,6]])c=np.array([[1,2,3]])d=np.array([[9,8,7],[3,2,1]])#矩阵加法sum=a+d#放缩e=3*a#数乘、矩阵乘e=np.dot(a,b)#元素乘e=a*dprint(e)#转置e=c.Tprint(e)e=np.array([[1,2],[3,4]])#逆矩阵result=np.linalg.inv(e)#行列式result=np.linalg.det(e)#矩阵的秩e=np.linalg.matrix_rank(d)print(e) 求一次方程组的解 1234567891011121314151617import numpy as np#用于第一段代码from sympy import...
第4章 减治法
4.1 插入排序插排的代码可看数据结构中排序那部分 4.3 生成组合对象的算法Johnson-Trotter算法 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include <iostream>#include <vector>// 检查元素是否可移动bool canMove(const std::vector<int>& perm, const std::vector<int>& dir, int index) { int d = dir[index]; if (d == -1 && index > 0 && perm[index] > perm[index - 1]) { ...
第2章 算法效率分析基础
2.2 渐进符号和基本效率类型 类型按照增长次数的升序排列 2.4 递归算法的数学分析反向替代法 分析递归算法时间效率的通用方案 汉诺塔游戏 手写的详细步骤四个盘子时: 代码实现123456789101112131415161718192021222324252627282930#include <stdio.h>int m=0;void Move(int n,char A,char B,char C)//A和B柱并不固定,可以互换,A是盘子所在的塔,B是辅助塔,C是目标塔,函数的目的是把A上的n个盘子通过B全部转移到C{ m++; //设置移动盘子的结束条件(当只有一个盘子时直接从A或B柱移到C柱),如果A当前还有一个盘子那么就把他直接移动到C if(n == 1) { printf("%c -> %c\n",A,C); } //否则开始递归 else ...
第3章 蛮力法
3.2 顺序查找和蛮力字符串匹配顺序查找: 1234567891011121314151617181920#include<iostream>#include<cstring>using namespace std;int SequentialSearch(string& a,char b){ int i=0; while(i<a.length()&&a[i++]!=b); if(a[i-1]==b)i--; if(i<a.length())return i; else return -1;}int main(){ string a="abbbbc"; cout<<SequentialSearch(a,'d')<<endl; cin.get(); return...
C++笔记
C++参考文档 课程链接:国外公认讲的最好的【C++教程】技术大佬带你从零基础入门到精通,油管百万级收藏,学C++看这个就够了! 变量 变量类型 占用内存的字节数(byte) int 4 char 1 short 2 long 4 long long 8 float 4 double 8 bool 1 变量前加unsigned即舍弃符号位,能表示的数值的最大值为原来的两倍 字符 ASCII表上对应的值 0 48 a 97 A 65 例子: 1234567char a=65;cout<<a<<endl;//输出为字符A//------------------float b=5.5;//此时b为double类型float...
Ubuntu系统使用教程
Ubuntu系统入门指南:基础操作和使用 - Lion 莱恩呀的文章 - 知乎
《人类简史》部分章节
第十章 金钱的味道农业革命开始前和刚开始时,部落社会中流行以物易物。等到城市和王国兴起,当大量的陌生人试图合作时,光靠人情义务的经济制度就再也行不通了。 钱让我们能够快速、方便地比较不同事物的价值,让我们能够轻松交换这些事物,也让我们容易积累财富。 金钱并不是物质上的现实,而只是心理上的想象。可以说金钱就是一种相互信任的系统。而且还不是随随便便的系统:金钱正是有史以来最普遍也最有效的互信系统。 为什么大家都同样相信黄金有价?因为黄金受到供需关系的影响,让价格达到平衡 钱是人类最能接受的东西 金钱制度有两大原则: 1、万物可换 2、万物相信 金钱有黑暗的一面 市场的力量、金钱的狂潮固然强大,但也不能低估刀剑的力量 第十一章...