数据结构算法
菜-农
快乐编程,编程快乐。
展开
-
数据结构算法之栈
栈是数据结构中的重要算法之一,又称为堆栈,是一种受限制的数据结构,其受限制的地方是只能在结构的尾端进行插入和删除操作。在可以操作的一端成为栈顶,通常设为top,在最先插入数据的地方成为栈底,当top=栈底就意味着栈空。栈的操作一般有:初始化栈(InitStack),进栈(Push),出栈(Pop),判断栈空(IsEmpty)等等。 以下给出数组实现堆栈的方法: `#include < iostre原创 2016-10-09 21:46:29 · 219 阅读 · 0 评论 -
二叉树的深度优先遍历和广度优先遍历
深度优先遍历,也就深入的遍历,沿着每一个分支直到走到最后,然后才返回来遍历剩余的节点。二叉树不同于图,图需要标记节点是否已经访问过,因为可能会存在环,而二叉树不会出现环,所以不需要标记。那么,我们只需要一个栈空间,来压栈就好了。因为深度优先遍历,遍历了根节点后,就开始遍历左子树,所以右子树肯定最后遍历。我们利用栈的性质,先将右子树压栈,然后在对左子树压栈。此时,左子树节点是在top上的,所以可以先转载 2016-10-14 23:10:52 · 323 阅读 · 0 评论 -
数据结构算法之哈希表
哈希表也称作散列表,是介于链表和二叉树之间的一种结构体。因为这二者之间各有优缺点,链表的插入和删除操作可以在O(1)内实现,很方便,但是查询操作很麻烦,二叉树的数据排序严格有序,但是需要建立在大量的指针的基础之上,所以,而为了综合他们的长处,一种新的数据结构就诞生出来了–哈希表。 就如同一个网站管理系统,整个互联网有许许多多的网页,有的网页是关于新闻方面的,有的网页是视频网站,有的网页是提供原创 2016-10-02 14:47:49 · 435 阅读 · 0 评论