数据结构与算法基础面试题

1 存储与查找

1.红黑树的原理?插入和删除是怎么进行的。(插入相对简单一些,删除比较复杂)
(答案参考博客 红黑树的原理 (插入+ 删除) 案例分析(附实现代码))

2排序算法篇

快速排序、堆排序和归并排序重点记忆。

1.快速排序算法的思想并给出常见的优化方式高频面试题目
思路就是选一个数,然后让数组左边都比这个数小,右边都比这个数字大。代码是三段式结构。
(答案参考博客 快速排序的基本实现方式及其改进方法)

2.堆排序算法的思想并写出堆排序的代码
(答案参考博客 数据结构高频考点:堆排序的核心思想和代码实现)

3.讲述归并排序算法的思想和手写代码
核心就是两个有序数组合并成一个有序数组。代码是三段式结构。
(答案参考博客 归并排序算法及其记忆要点)

4.手写简单选择排序及其思想
核心就是一遍一遍的挑选出最大值
(答案参考博客 简单选择排序的思想和代码)

5.直接插入排序算法
依次取数组的前2个数,3个数,4个数…,使得其有序
(答案参考博客 直接插入排序算法和希尔排序算法 )

6.希尔排序的思想是什么?手写代码
( 直接插入排序算法和希尔排序算法 )

7.冒泡排序法的思想?手写代码

8.计数排序的思想?

你可能感兴趣的:(后台开发面试题)