概述
前言:
很多编程都离不开算法,那么作为linux服务器开发我们应该学哪些数据结构与算法呢?
我觉得离不开以下这几个知识点
一:排序与查找
插入排序,快速排序,希尔排序,桶排序,归并排序
二:常用算法
布隆过滤器,字符串匹配KMP算法,回溯算法,贪心算法,推荐算法,深度优先,广度优先
三:常用数据结构
平衡二叉树,红黑树,B-树,kmp算法,栈/队列,布隆过滤器
四:常用的设计模式
单列模式,责任链模式,过滤器模式,发布订阅模式,代理模式,工厂模式
下面讲讲:查找与排序,KMP算法栈队列
排序
冒泡排序
希尔排序
京东面试题2017年:
对关键字{10,20,8,25,35,6,18,30,5,15,28}序列进行希尔排序,取增量d =5时,排序结果为( )
A.{6,18,8,5,15,10,20,30,25,35,28}
B. {10,18,8,5,15,6,20,30,25,35,28}
C. {10,20,8,5,15,6,18,30,25,35,28}
D. {10,20,30,5,8,6,15,18,25,28,35
希尔排序
希尔排序
归并排序
微软面试题2010年:
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数
大于后面的数,那么它们就称为一个逆序数对。一个排列中逆序的总数就称为这个排列的
逆序数。如{2,4,3,1}中,2和1,4和3,4和1,3和1是逆序数对,因此整个数组的逆序数
对个数为4,现在给定一数组,要求统计出该数组的逆序数对个数。
归并排序
归并排序
归并排序
快速排序
1.快排为什么比冒泡排序速度快?如何选取快排的枢轴?怎样选效率会高一些?
2.请使用快速排序把数组从低到高排序。如数组 [ 10,0, 3, 9, 2, 14, 8, 27, 1, 5, 8, -1, 26 ]
快速排序
快速排序
快速排序
快速排序
快速排序
其余排序
KMP算法
面试题:写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。
kMP算法
最后推荐学习资料
linux入门资料,linux服务器,架构师教程,784033627群文件自行下载获取
最后
以上就是贪玩方盒为你收集整理的查找与排序,KMP算法栈队列的全部内容,希望文章能够帮你解决查找与排序,KMP算法栈队列所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复