
算法基础
村头陶员外
B站,小红书,抖音等平台搜索 “Forrest的数据科学站”
展开
-
算法基础-- > 链表,堆栈,队列
从这篇博文开始,我将总结一些常用的传统算法的思想核心。本篇博文主要总结链表,堆栈,队列。链表链表相加给定两个链表,分别表示两个非负整数。它们的数字逆序存储 在链表中,且每个结点只存储一个数字,计算两个数的和,并且返回和的链表头指针。如:输入:2→4→3、5→6→4,输出:7→0→8问题分析:因为两个数都是逆序存储,正好可以从头向后依次相加,完成“两个数的竖式计算”。#include<stdio.h>原创 2017-08-21 17:44:31 · 964 阅读 · 0 评论 -
算法基础-->排序查找
本篇博文将详细总结一些排序算法。插入排序基本思想将 A(1:n)A(1:n) 中的元素按非降次序分类,n≥1n≥1插入排序:插入即表示将一个新的数据插入到一个有序 数组中,并继续保持有序。例如有一个长度为NN 的无序数组,进行 N−1N-1 次的插入即能完成排序;第一次,数组第 11 个数认为是有序的数组,将数组第二个元素插入仅有 11 个有序的数组中;第二次,数组前两个元素组成有序的数组,将数组第原创 2017-09-03 12:20:13 · 785 阅读 · 0 评论 -
算法基础-->图论(BFS,DFS)
本篇博文将总结和图相关的一些算法,其中又以广度优先搜索和深度优先搜索最为重要。图的表示:邻接矩阵 n∗nn*n 的矩阵,有边是 11,无边是 00,nn 表示结点个数。邻接表 为每个点建立一个链表(数组)存放与之连接的点。搜索:BFS(Breadth−First−Search)BFS (Breadth-First-Search) 广(宽)度优先DFS(Depth−First−Sear原创 2017-08-31 19:50:41 · 1884 阅读 · 0 评论 -
算法基础-- >字符串(LCS,KMP,Huffman,Manacher)
本篇博文将详细总结算法里面关于字符串部分知识,包括:字符串循环左移LCS最长递增子序列KMPHuffman编码这里面一些算法比如LCS,KMP,Huffman是非常难以理解的,也是一些笔试面试经常遇见的问题,务必要全部弄清楚。字符串循环左移给定一个字符串S[0…N-1],要求把S的前k个字符移动到S的尾部,如把字符串“abcdef”前面的2个字符‘a’、‘b’移动到字符串的尾部,得到新字符原创 2017-08-22 23:50:29 · 1502 阅读 · 0 评论 -
算法基础-->贪心和动态规划
本篇博文将详细总结贪心和动态规划部分,贪心和动态规划是非常难以理解和掌握的,但是在笔试面试中经常遇到,关键还是要理解和掌握其思想,然后就是多刷刷相关一些算法题就不难了。本篇将会大篇幅总结其算法思想。贪心和动态规划思想马尔科夫模型对于 Ai+1{A}_{i+1} ,只需考察前一个状态 Ai{A}_{i}, 即可完成整个推理过程,它的特点是状态 Ai{A}_{i} 只由 Ai−1{A}_{i-1} 确原创 2017-09-05 23:23:56 · 4526 阅读 · 0 评论 -
算法基础-->概率组合
本篇博文将总结数学相关的内容,涉及概率组合的一些算法,比较简单。求1的个数问题描述给定一个3232 位无符号整数NN,求整数NN 的二进制数中11 的个数。问题分析方法一显然:可以通过不断的将整数NN 右移,判断当前数字的最低位是否为11,直到整数NN 为00 为止。平均情况下,大约需要1616 次移位和1616 次加法。int OneNumber(int n){ int c = 0;原创 2017-09-08 16:10:20 · 1096 阅读 · 0 评论 -
算法基础-- >树
本篇博文将总结关于树的一些算法,树部分的内容挺多,但是不难,主要考察的是coding能力,本人就是感觉自己coding能力太差,所以关于代码实现部分都要自己实现一遍,不会的在网上查资料跟着敲一遍。树和二叉树的关系一般地说,树的结点间是无序 的,即:一个结点有m个孩子,则 L1,L2,L3,...,Lm{L}_{1},{L}_{2},{L}_{3},...,{L}_{m} 可以互换位置,仍然认为是同原创 2017-08-30 16:38:14 · 636 阅读 · 0 评论 -
算法基础-- >数组
本篇博文将详细总结与数组相关的一些算法。求局部最大值问题描述给定一个无重复 元素的数组 A[0…N−1]A[0…N-1],求找到一个 该数组的局部最大值。规定:在数组边界外的值无穷小。即: A[0]>A[−1],A[N−1]>A[N]A[0]>A[-1],A[N-1] >A[N]。显然,遍历一遍可以找到全局最大值,而全局最大值显然是局部最大值,但是时间复杂度达到 O(n)O(n),能不能找到一个时间原创 2017-08-27 12:12:59 · 1155 阅读 · 0 评论