- 说说你对算法的理解?应用场景?
- 说说你对二分查找的理解?如何实现?应用场景?
- 说说你对堆的理解?如何实现?应用场景?
- 说说你对链表的理解?常见的操作有哪些?
- 说说你对冒泡排序的理解?如何实现?应用场景?
- 说说你对分而治之、动态规划的理解?区别?
- 说说你对贪心算法、回溯算法的理解?应用场景?
- 说说你对图的理解?相关操作有哪些?
- 说说你对插入排序的理解?如何实现?应用场景?
- 说说你对归并排序的理解?如何实现?应用场景?
- 说说你对快速排序的理解?如何实现?应用场景?
- 说说你对选择排序的理解?如何实现?应用场景?
- 说说你对集合的理解?常见的操作有哪些?
- 说说常见的排序算法有哪些?区别?
- 说说你对栈、队列的理解?应用场景?
- 说说你对数据结构的理解?有哪些?区别?
- 说说你对算法中时间复杂度,空间复杂度的理解?如何计算?
- 说说你对树的理解?相关的操作有哪些?
说说你对图的理解?相关操作有哪些?

一、是什么
在计算机科学中,图是一种抽象的数据类型,在图中的数据元素通常称为结点,V是所有顶点的集合,E是所有边的集合
说说你对算法的理解?应用场景?

一、是什么
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制
说说你对链表的理解?常见的操作有哪些?

一、是什么
链表(Linked List)是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,由一系列结点(链表中每一个元素称为结点)组成
说说你对栈、队列的理解?应用场景?

一、栈
栈(stack)又名堆栈,它是一种运算受限的线性表,限定仅在表尾进行插入和删除操作的线性表
表尾这一端被称为栈顶,相反地另一端被称为栈底,向栈顶插入元素被称为进栈、入栈、压栈,从栈顶删除元素又称作出栈
说说你对树的理解?相关的操作有哪些?

一、是什么
在计算机领域,树形数据结构是一类重要的非线性数据结构,可以表示数据之间一对多的关系。以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构
说说你对算法中时间复杂度,空间复杂度的理解?如何计算?

一、前言
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别
说说你对快速排序的理解?如何实现?应用场景?

一、是什么
快速排序(Quick Sort)算法是在冒泡排序的基础上进行改进的一种算法,从名字上看就知道该排序算法的特点是快、效率高,是处理大数据最快的排序算法之一
说说你对分而治之、动态规划的理解?区别?

一、分而治之
分而治之是算法设计中的一种方法,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并
说说你对选择排序的理解?如何实现?应用场景?

一、是什么
选择排序(Selection sort)是一种简单直观的排序算法,无论什么数据进去都是 O(n²)的时间复杂度,所以用到它的时候,数据规模越小越好
说说你对贪心算法、回溯算法的理解?应用场景?

一、贪心算法
贪心算法,又称贪婪算法,是算法设计中的一种思想
其期待每一个阶段都是局部最优的选择,从而达到全局最优,但是结果并不一定是最优的
说说你对冒泡排序的理解?如何实现?应用场景?

一、是什么
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法
冒泡排序的思想就是在每次遍历一遍未排序的数列之后,将一个数据元素浮上去(也就是排好了一个数据)
说说你对集合的理解?常见的操作有哪些?

一、是什么
集合(Set),指具有某种特定性质的事物的总体,里面的每一项内容称作元素
在数学中,我们经常会遇到集合的概念:
说说你对插入排序的理解?如何实现?应用场景?

一、是什么
插入排序(Insertion Sort),一般也被称为直接插入排序。对于少量元素的排序,它是一个有效、简单的算法
说说你对归并排序的理解?如何实现?应用场景?

一、是什么
归并排序(Merge Sort)是建立归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用
说说常见的排序算法有哪些?区别?

一、是什么
排序是程序开发中非常常见的操作,对一组任意的数据元素经过排序操作后,就可以把他们变成一组一定规则排序的有序序列
排序算法属于算法中的一种,而且是覆盖范围极小的一种,彻底掌握排序算法对程序开发是有很大的帮助的
说说你对二分查找的理解?如何实现?应用场景?

一、是什么
在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法
想要应用二分查找法,则这一堆数应有如下特性:
说说你对堆的理解?如何实现?应用场景?

一、是什么
堆(Heap)是计算机科学中一类特殊的数据结构的统称
堆通常是一个可以被看做一棵完全二叉树的数组对象,如下图:
说说你对数据结构的理解?有哪些?区别?

一、是什么
数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合
前面讲到,一个程序 = 算法 + 数据结构,数据结构是实现算法的基础,选择合适的数据结构可以带来更高的运行或者存储效率