Coding-Interviews/剑指offer 排序算法 插入排序 选择排序 冒泡排序 快速排序 归并排序 希尔排序 堆排序 基数排序 稳定性: 理解: 排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 用处: 只有当在“二次”排序时不想破坏原先次序,稳定性才有意义 。 如果我们只对一串数字排序,那么稳定与否确实不重要,因为一串数字的属性是单一的, 就是数字值的大小。但是排序的元素往往不只有一个属性,例如我们对一群人按年龄排序, 但是人除了年龄属性还有身高体重属性,在年龄相同时如果不想破坏原先身高体重的次序, 就必须用稳定排序算法. 面试题 面试题3_数组中重复的数字 面试题4_二维数组中的查找 面试题5_替换空格 面试题6_从尾到头打印链表 面试题7_重建二叉树 面试题8_二叉树的下一个节点 面试题9_用两个栈实现队列 面试题10_斐波那契数列 面试题11_旋转数组的最小数字 面试题12_矩阵中的路径 面试题13_机器人的运动范围 面试题14_剪绳子 面试题15_二进制中1的个数 面试题16_数值的整数次方 面试题17_打印1到最大的n位数 面试题18_删除链表的结点 面试题19_正则表达式匹配 面试题20_表示数值的字符串 面试题21_调整数组顺序使奇数位于偶数前面 面试题22_链表中倒数第k个节点 面试题23_链表中环的入口节点 面试题24_反转链表 面试题25_合并两个排序的链表 面试题26_树的子结构 面试题27_二叉树的镜像 面试题28_对称的二叉树 面试题29_顺时针打印矩阵 面试题30_包含min函数的栈 面试题31_栈的压入弹出序列 面试题32_从上到下打印二叉树 面试题33_二叉树搜索树的后序遍历序列 面试题34_二叉树中和为某一值的路径 面试题35_复杂链表的复制 面试题36_二叉搜索树和双向链表 面试题37_序列化二叉树 面试题38_字符串的排列 面试题39_数组中出现次数超过一半的数字 面试题40_最小的k个数