算法
阏男秀
Python
展开
-
Python-穷举搜索Google方程式
在《算法的乐趣》这一本书中,第3.4.3章节举了一个穷举搜索的例子,其中里面是用C语言代码编写的。下面自己使用Python实现了一遍。原创 2016-06-25 14:46:02 · 1502 阅读 · 0 评论 -
过长的if-else分支结构优化
过长的多分支结构常被视为软件中的不良结构,因为它违背了OCP原则(开放、封闭原则),每当需要新增一种条件判断处理时,就要新增一个if-else分支。在很多情况下,使用函数表结构是避免过长的分支结构的有效方法。转载 2016-07-16 18:09:04 · 3617 阅读 · 0 评论 -
算法-一重循环实现两重循环的功能
二维表的遍历一般需要两重循环来实现,但是两重循环的代码不如一重循环的代码清爽,很多情况下用一重循环遍历二维表也是一种不错的选择。用一重循环遍历二维表关键是对下标的处理,对于一个M×N的二维表,可用以下方法解出对应的二维下标:int row = i / Mint col = i % N转载 2016-08-13 10:14:10 · 3244 阅读 · 0 评论 -
算法-一种数组环形队列的数据结构
概述在《ESP8266-app_IR_TxRx_demo中的RingBuf代码透析》中,本作者分析了ESP8266示例代码里面的数组环形队列,该环形队列可以用于单片机等资源受限的嵌入式平台。后来在《算法的乐趣》中学到了一种更好的计算队尾指针的方法。于是以示例代码为基础,改写了一下8266的环形队列。原创 2016-08-13 16:00:25 · 9660 阅读 · 2 评论 -
【算法】冒泡排序
冒泡排序算法的核心是每次冒泡过程中,比较相邻的两个元素,如果array[i-1]大于array[i],则将其交换,然后array[i]和array[i+1]再进行比较,将大的元素往后放。这样一趟下来,最大元素就被逐次“冒”到序列的末尾了。原创 2016-05-08 15:11:37 · 839 阅读 · 0 评论 -
【机器学习】k-近邻算法笔记
k-近邻算法非常有效而且易于掌握,适合用于数值型数据和标称型数据。k-近邻算法的原理是这样的:存在一个样本数据集合(训练样本集),样本集中每个数据都有标签,输入没有标签的新数据后,将新数据的每个特征与样本集中的数据对应的特征进行比较。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中的k的出处,通常k是不大于20的整数。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。原创 2016-08-16 22:36:47 · 699 阅读 · 0 评论 -
【算法】二进制数的逆序输出
给定一个无符号32位整数,要求将其2进制形式数反转(即首尾颠倒,非按位取反),输出反转后的整数。即如果给定的数:43261596,它的二进制数为:00000010100101000001111010011100,将二进制数反转得到:00111001011110000010100101000000,所以期望的输出结果应该为:964176192原创 2016-08-13 21:48:01 · 6091 阅读 · 0 评论