在学习算法之前引用一位大佬的话:如果你只是想成为一个码农或是一个代码搬运工(Code Monkey),你大可不必学习算法,因为算法对你确实没有用;但是如果你想要成为一个优秀的开发者(Developer),扎实的算法必不可少,因为你会不断掉进一些只能借助算法才能爬出去的坑里。 算法定义 算法是指解题方 ...
分类:
编程语言 时间:
2018-08-29 19:58:59
阅读次数:
135
一、K近邻算法基础 KNN K近邻算法 K-Nearest Neighbors 思想极度简单 应用数学知识少 (近乎为零) 效果好(缺点?) 可以解释机器学习算法使用过程中很多细节问题 更完整的刻画机器学习应用的流程 kNN的过程 二、scikit-learn 中的机器学习算法封装KNN/KNNN. ...
分类:
编程语言 时间:
2018-08-25 13:57:39
阅读次数:
268
通过这几天来的刷算法题,我发现了自身的一些问题,即使刷了这些题,但是对于新的算法还是无法通过已有的算法知识推导出来,感觉处于一种懵懂的状态,应该是其一些基础的算法理论没有知晓,因为到现在为止,并没有系统的学过关于算法的一些理论知识。只是重复的上机实践,遇到新的问题无法归类且虽然有思路,但是真正的敲代 ...
分类:
其他好文 时间:
2018-08-12 15:40:51
阅读次数:
91
什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法。 输入→算法→输出 时间复杂度 时间复杂度:用来评估算法运行效率的一个东西。 小结: 空间复杂度 空间复杂度:用来评估算法内存占用大小的一个式子 空间换时间:分给它一些空间或内存,让它运行速度更快 递归 递归的两个特点: 1.调 ...
分类:
编程语言 时间:
2018-08-10 01:35:03
阅读次数:
191
1 arr = [1,23,12,9,8,8,9,1,1,8,] 2 def quickSortCore(arr,start,end): 3 if start < end: 4 index = partition(arr,start,end) 5 quickSortCore(arr,start,in ...
分类:
编程语言 时间:
2018-08-10 01:09:57
阅读次数:
176
一、什么是算法 算法是计算机处理信息的本质,因为计算机程序解决一个问题本质上是通过一套算法来告诉计算机确切的步骤。一般的,算法在处理信息的时候,从输入设备中读取数据,处理完后,将结果写入输出设备中。 对于算法而言,实现的语言并不重要,重要的是思想。 算法可以有不同的语言描述实现版本(如C描述、C++ ...
分类:
编程语言 时间:
2018-08-05 21:28:45
阅读次数:
134
一 。 什么是算法? 算法就是用系统的方法描述解决问题的策略机制,简单的来讲就是一个计算的过程,解决问题的方法。 二 。 算法的基本概念: (1)时间复杂度: 可以理解为用来评估算法运行效率的一个单位 (2)常见的时间复杂度(按效率排序) (3)空间复杂度 有时候为了提高效率 会采用空间换取时间的做 ...
分类:
编程语言 时间:
2018-08-05 00:32:01
阅读次数:
195
排序算法 交换排序类:冒泡排序、快速排序 选择排序类:简单选择排序、堆排序 插入排序类:直接插入排序、希尔排序 冒泡排序 冒泡排序(Bubble Sort),排序的基本思想为两两比较小相邻数据的关键字,如果顺序为反则进行交换,直到没有反序的记录为止。 冒泡排序有多种变化,其三种不同实现的代码如下: ...
分类:
编程语言 时间:
2018-07-28 20:37:08
阅读次数:
137
二叉树的补充: 线索二叉树: 1.引入线索二叉树 二叉树的遍历实质上是对一个非线性结构实现线性化的过程,使每一个节点(除第一个和最后一个外)在这些线性序列中有且仅有一个直接前驱和直接后继。但在二叉链表存储结构中,只能找到一个节点的左、右孩子信息,而不能直接得到节点在任一遍历序列中的前驱和后继信息。这 ...
分类:
编程语言 时间:
2018-07-27 21:11:08
阅读次数:
160
最近的学习是相当的无聊,并且很无趣,每天都浪费了很多时间,比如今天下午,就是搞一手成语接龙,我也是醉了… 并且我也不知道学什么了,所以决定刷题 虽然我是0算法基础,0逻辑能力的渣渣,但是尽力每天做一道题,总会慢慢进步的 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 ...
分类:
编程语言 时间:
2018-07-27 01:22:37
阅读次数:
150