Coder Social home page Coder Social logo

algorithm-test1's Introduction

快速排序: 1: http://blog.csdn.net/xuxurui007/article/details/7639863 2: http://www.2cto.com/kf/201307/224079.html

动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。 举例: 线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等; 区域动规:石子合并, 加分二叉树,统计单词个数,炮兵布阵等; 树形动规:贪吃的九头龙,二分查找树,聚会的欢乐,数字三角形等; 背包问题:01背包问题,完全背包问题,分组背包问题,二维背包,装箱问题,挤牛奶(同济ACM第1132题)等;

应用实例: 最短路径问题 ,项目管理,网络流优化等;

动态规划-最短路径 动态规划-背包问题 f(i,j) = Max{ f[i-1,j-W[i]]+Pi, f[i-1,j] (j <W[i]) } f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。 f[i-1,j] (j <W[i]) : 背包装第i-1个和之前的物品时候的最大价值(但是不包括第i个,第i个可能本身大于背包承重,第i个可能性价比不是最高的) f[i-1,j-W[i]]+Pi:背包装第i个和之前的物品的最大价值 W[i] : 第i个物体的重量; P[i] : 第i个物体的价值; f[i-1,j-W[i]]:前i-1个物体放入容量为j-W[i]的背包的最大价值;

动态规划-滚动数组 动态规划-贪心算法 Java动态规划 实现最长公共子序列以及最长公共子字符串

动态规划考点: 写递推公式

动态规划三个重要概念: 1、最优子结构 2、边界 3、状态转移公式

算法网站: https://acm.sjtu.edu.cn/OnlineJudge/ https://leetcode.com/ http://www.geeksforgeeks.org/ http://www.lintcode.com/zh-cn/

https://leetcode-cn.com/problemset/all/?topicSlugs=array https://www.ojcoder.cn/ 很牛逼的算法网站

数组算法: 寻找和为定值的两个数(找出数组里面任意两个数相加等于一个值k) 求最大子数组之和的方法 最小和的子数组 删除指定数组的元素 数组中出现次数超过一半的数字 求一维数组中不重叠的两个子数组的最大和(求两个子数组最大的累加和) (难度系数比较高) 在一个先增长后减小的数组中找到最大值(要么一直增大,要么一直减小,要么先增大后减小) 一个数组的值先从小到大递增后从大到小递减,找出最大的值 一个数组的值先从大到小递减后从小到大递增,找出最小的值 数组中只出现一次的数字

字符串算法: 给定两个字符串,求长度最大的公共子串 给定两个字符串,求长度最大的公共子序列 给定字符串求长度最大的不重复子串(最长无重复子串) 求字符串中所有字符的组合 一个字符串是否是另一个字符串的子串(一个字符串是否包含另一个字符串) 字符串全排列

图的算法: 图上两点直接的最短距离(迪杰斯特拉) 图的深度优先遍历 图的广度优先遍历

动态规划: 01背包问题 爬楼梯递归,循环(动态规划实现循环)

贪心算法: 加油站加油

单链表算法: 单链表反转 单链表是否有环 单链表环的长度 单链表的环的入口 单链表是否相交 单链表查找某个节点 单链表删除某个节点 单链表寻找中间数(一种是暴力解法,另一种就是两个快慢指针)

二叉树算法: 二叉树镜像 二叉树深度遍历 二叉树广度遍历 二叉树按层打印节点 对于给定的二叉树根节点,求该树的深度

algorithm-test1's People

Contributors

zondahuman avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.