
算法
蓝海萤
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单链表的快排
面试有被问到快排单链表,啊,,这,普通的快排是双指针,一个找比基准值小的,另一个从另一边找比基准值大的,然而单链表只能正向遍历,所以就只采取快排的思想,即分治的思想。 通过查阅资料发现了一种适合单链表的快排。先以数组为列 int i=0;int j=i+1; int key=0;//基准值 int temp=i; while(j<n) { if(arr[j]>=key) ++j; else { ++i; swap(arr[i],arr[j]); ++j; } } 然后再 swap(arr[i],原创 2020-12-22 20:17:12 · 266 阅读 · 0 评论 -
动态规划
动态规划具备了以下三个特点 把原来的问题分解成了几个相似的子问题。 所有的子问题都只需要解决一次。 储存子问题的解。 动态规划的本质,是对问题状态的定义和状态转移方程的定义(状态以及状态之间的递推关系) 常见的动规题字符串分割二级目录三级目录 字符串分割 :link 题目描述: 给定一个字符串s和一组单词dict,判断s是否可以用空格分割成一个单词序列,使得单词序列中所有的单词都是dict中的单词(序列可以包含一个或多个单词)。 例如:给定s=“leetcode”; dict=[“leet”, “cod原创 2020-08-14 01:01:31 · 200 阅读 · 0 评论 -
八皇后的两种思路
题目描述:n皇后是指在一个n行n列的棋盘上,将n个皇后摆放在不同的位置,不能出现在同一行,同一列,同一斜线,问有多少种解法。 思路一: 建立一个二维数组,初始化都为0,(皇后的位置置1)从第一行开始放皇后,列有八种情况,从第一种情况开始,如果这个位置的上面的列,左上正对角线,以及右上正对角线没有皇后,则是安全的,这个位置可以放置皇后,继续递归下一行,否则继续探索这一行的其他列,如果这一行的所有列都...原创 2020-02-16 22:05:05 · 481 阅读 · 0 评论 -
经典排序算法
1.插入排序 思想:从第二个数开始将待排序的数插入到前面已经排好序的相应位置直到最后一个数插入完毕 2.希尔排序 思想 : 又称缩小增量排序,将待排序的数分为间距为gap(gap=size/2)的若干组,并将相同间距上的数进行插入排序,然后将gap缩小,直到gap=1时结束 3.选择排序 思想:每次在待排序的序列中找到最小的元素放在序列的起始位置,直到待排序的序列已经全部排好序 4.堆排序 ...原创 2020-02-14 21:48:51 · 203 阅读 · 0 评论