Algorithm:Dynamic Programming
Dynamic Programming(动态规划)解决重复子问题
问题1:0/1背包问题题目有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大
1234N = 5V = 10w = [2, 2, 6, 5, 4]v = [6, 3, 5, 4, 6]
问题2:斐波那契数列题目求第n个斐波那契数
python123456789101112131415161718192021222324252627282930313233# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/07/31# @Author : renyb# @File : dp.pyimport numpy as np## 递归def rec_opt(n): return 1 if n <= 2 else rec_opt(n-1) + rec_opt(n-2)## 非递归def dp_opt ...
Algorithm:Sort
Sort算法1:冒泡排序思想
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 [1]。
参考资料:
吕新平、刘宏铭.二级公共基础知识实战训练教程:西安交通大学出版社,2006.02:30页
python12345678910111213141516171819202122# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/08/01# @Author : renyb# @File : sort.pydef bubble_sort(arr): # 这个循环负责设置冒泡排序进行的次数 for i in range(len(arr) - 1): # j为列表下标 for j in rang ...
Algorithm:Dijkstra
Dijkstra问题1:最短路径题目
12345678910# 代码构造上图graph = { "A": {"B": 5, "C": 1}, "B": {"A": 5, "C": 2, "D": 1}, "C": {"A": 1, "B": 2, "D": 4, "E": 8}, "D": {"B": 1, "C": 4, "E": 3, "F": 6}, "E": {"C": 8, "D": 3}, "F": ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment