算法理论(1)

简介: ----基本运算符号:& | ~ ^;

一:位运算与进制

----基本运算符号:& | ~ ^;

----异或运算

1、异或是一个数学运算符。应用于逻辑运算。

2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值相 异结果为真。

3、异或的运算方法是一个二进制运算:

 1^1=0

  0^0=0

  1^0=1

  0^1=1

两者相等为0,不等为1.总之,就是这样,n^0=n n^n=0,即任何数与0进行异或,为它本身,两个相同的数进行异或运算,会得到0。

----异或运算法则:

  1. a ^ b = b ^ a

  2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

  3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

  4. a ^ b ^ a = b.

----相关题目:

①判断一个数是奇数还是偶数

②判断某二进制数某位是1还是0

③找出数组中唯一重复的一个数

④找出某数二进制位1的个数(多种解法)

⑤一条语句判断某整数是不是2的整数次方

⑥将整数的二进制表示偶数位和奇数位调换位置

⑦用二进制表示0-1之间的浮点数

⑧数组中一个数出现了一次 其他数出现k次求出这个只出现一次的数

二:递归

----用法:自己调用自己

Ⅰ找到一种切割方法

Ⅱ找到递推公式或等量代换

----方法:

①找重复

②找变化

③找边界

----相关题目:

①求n的阶乘

②求i-j中的每一位数

③累加某数组中所有元素(需设定一个参数)

④翻转字符串

⑤斐波那契数列

⑥找两个数的最大公约数

⑦插入排序改递归

⑧汉诺塔问题

⑨ 二分查找的递归方法

⑩插入排序及希尔排序(特殊的插入排序)

----四种必须掌握的排序方法:冒泡 选择 插入 希尔

三、评估算法性能:

----概念:O(f(n))f(n)为n与程序被执行次数的关系

----算法性能排序(由低到高)

a^n n^x n^3 n^2 nlogn n logn

----算法性能:

二分查找>线性查找>最大公因数>各种排序>斐波那契

----排序算法的稳定性

概念:排序后相同数字相对位置不变

稳定:冒泡排序 插入排序

不稳定:选择排序 希尔排序 快排

相关例题:

①小白上楼梯

②旋转数组求最小值(修改二分法)

③在含空字符的有序字符串中索引

④找出数组中最长连续递增子序列

目录
相关文章
第10章 经典智能算法——10.1 粒子群算法的MATLAB实现(2)
第10章 经典智能算法——10.1 粒子群算法的MATLAB实现(2)
|
机器学习/深度学习 人工智能 自然语言处理
第10章 经典智能算法——10.1 粒子群算法的MATLAB实现(1)
第10章 经典智能算法——10.1 粒子群算法的MATLAB实现(1)
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
|
机器学习/深度学习 算法 数据挖掘
周志华《机器学习》课后习题(第九章):聚类
周志华《机器学习》课后习题(第九章):聚类
1155 0
周志华《机器学习》课后习题(第九章):聚类
|
算法 搜索推荐
算法理论(2)
----概念:将原问题分割为数个简单易求的子问题,用递归解决这些子问题后,合并子问题的答案作为最终答案(分割与合并不能太过复杂)。
88 0
算法理论(2)
|
机器学习/深度学习 算法 数据挖掘
全网最快入门———R语言机器学习实战篇6《广义线性模型》
R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
全网最快入门———R语言机器学习实战篇6《广义线性模型》
|
算法 Java API
算法理论(3)
首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用:
59 0
|
机器学习/深度学习 算法
②【万字详解·附代码】机器学习分类算法之K近邻(KNN)
【万字详解·附代码】机器学习分类算法之K近邻(KNN)
563 0
②【万字详解·附代码】机器学习分类算法之K近邻(KNN)
|
机器学习/深度学习 算法 数据可视化
③【万字详解·附代码】机器学习分类算法之K近邻(KNN)
【万字详解·附代码】机器学习分类算法之K近邻(KNN)
222 0
③【万字详解·附代码】机器学习分类算法之K近邻(KNN)
|
机器学习/深度学习 算法
①【万字详解·附代码】机器学习分类算法之K近邻(KNN)
【万字详解·附代码】机器学习分类算法之K近邻(KNN)
119 0
①【万字详解·附代码】机器学习分类算法之K近邻(KNN)