数据结构与算法基础

1.arraylist(底层数组实现),linkedlist(底层双向链表实现)源码实现,栈跟堆的特点跟区别是什么,栈的实现(单链表push,pop)队列特点
2.树(二叉查找树是treeset,treemap的实现基础)-->递归
树的遍历(先序遍历,后续遍历,层序遍历),二叉树:其中的每个节点都不能有多于两个的儿子
排序:内部排序(指的是待排序记录存放在计算机随机存储中进行的排序过程)
外部排序:指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进访问的排序过程。
3.排序:
  1.插入排序
  2.希尔排序
  3.堆排序
  4.归并排序
  5.快速排序(效率最高)
  6.选择排序
4.数据结构(c语言),
第六章:树跟二叉树
第九章:查找
第十章:内部排序
看软考视频也有一段时间了,最近都没有更新博客,总想把视频看完了,再一起总结。所以一直拖到了月末。现在又可以用文字来理性的整理我这些信息了。其实看视频主要是介绍了一些主要的知识点。例子讲的并不是很详细,所以一味的看视频,不动手做练习。对于一些问题是很难理解和掌握的。
文章链接:http://blog.csdn.net/yi_zz/article/details/7391446
从数据结构与算法基础这一讲来慢慢的透视这一讲内容。这一节的最重要的内容,我个人提取出来应该是,线性表、树、二叉树、图以及排序算法;其次应该是:线性表、Hash、查找算法。我们一点一点的来看一下这些考点:

线性表按照内存存储划分为顺序表和链表,我们来对这两种结构进行一一分析:

顺序表:连续的存储空间

链表:离散的存储空间,通过指针把这些离散的空间成为一个整体。可以这么理解:物理是离散的,逻辑是连续的。

其实这些理论的东西都是很抽象的,这一节我们知道了链表的分类,然后重点掌握的是节点的删除和插入:

链表的类别:

单链表:

节点的删除:很简单,只要把不需要的节点free掉就OK了。

节点的插入:,把指针指向刚刚进来的节点。

双链表:

删除节点:

插入节点:


栈:

很明了,先进后出。

队列:

也很简单。先进先出。

循环队列:注意的几个问题我上面的图都列出来了。

你可能感兴趣的:(数据结构与算法基础)