数据结构
sfendeavoring
这个作者很懒,什么都没留下…
展开
-
白话经典算法系列之七 堆与堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一个子节转载 2013-09-09 20:54:13 · 616 阅读 · 0 评论 -
链表常见笔试题
转帖地址:http://xinklabi.javaeye.com/blog/699034 先什么也不说,假设链表节点的数据结构为: struct node { int data; struct node* next; }; 创建单链表的程序为: struct node* create(unsigned int n) { //创建长度为n的单链表 assert(n >转载 2013-09-01 20:43:22 · 794 阅读 · 0 评论