羁士
羁士
全部文章
数据结构和算法
C++(20)
Coding(7)
Linux(2)
Openstack(1)
PHP(1)
Python(3)
Web开发(1)
公众号开发(3)
基础知识(3)
工具技巧(1)
未归档(1)
程序猿修炼(22)
面试真题(2)
归档
标签
去牛客网
登录
/
注册
程序员面试精选
整理记录后端程序员的基础知识与面试经验。公众号【codeoffer】
全部文章
/ 数据结构和算法
(共8篇)
每日一练之Two sum [leetcode No.1]
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have ...
2020-01-13
0
430
算法的时间复杂度和空间负责度、最坏情况和平均情况
解决问题的效率与空间利用率,时间利用率,算法效率都有关系。 算法(Algorithm)是什么呢? 输入——接受一些输入或无输入 输出——产生输出 确定性——每条指令必须明确无歧义 能行性——每条指令都可以执行,一个有限的指令集 有穷性——执行一定步骤后终止 此外,衡量一个算...
2020-01-13
0
849
常见排序算法的稳定性分析和结论
来自专栏
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后...
2020-01-13
0
477
简单排序算法之选择排序、直接插入排序和冒泡排序
来自专栏
简单排序包括简单选择排序、直接插入排序和冒泡排序。时间负责度均为O(n2). 1、 简单选择排序(Selection sort)——不稳定 基本思想:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排...
2020-01-13
0
1276
排序算法之希尔排序的C++实现
希尔排序其实是直接插入排序的一种优化,不过是增加了一个步长进行分组插入罢了,又称为缩小增量排序。其基本思想:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待gap=1时,再对全体元素进行一次直接插入排序,数组便是有序的了。因...
2020-01-13
0
778
排序算法之快速排序的C++实现
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试题。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数,一般取第一个数。 2.分区过程,将比这个数大的数全放到它的右边,小于或...
2020-01-13
0
527
排序算法之归并排序的C++实现
归并排序是典型的分治法思想排序,其先归再并,基本思想如下: 1. 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到若干个长度为2的有序数列,再将这些数列两两合并;得到若干个长度为4的有序数列,再将它们两两合并;直接合并成一个数列为止。这样就得到了我们...
2020-01-13
0
619
七大查找算法浅析
转自:http://www.cnblogs.com/maybe2030/p/4715035.html 阅读目录 1. 顺序查找 2. 二分查找 3. 插值查找 4. 斐波那契查找 5. 树表查找 6. 分块查找 7. 哈希查找 查找...
2020-01-13
0
819