- 博客(44)
- 资源 (13)
- 收藏
- 关注
原创 二叉树----二叉树面试题合集
相关链接:链表总结----链表面试题合集二叉树(1)----先序遍历(前序遍历),递归和非递归方式实现二叉树(2)----中序遍历,递归和非递归实现二叉树(3)----后序遍历,递归和非递归方式二叉树(4)----求二叉树深度,递归和非递归二叉树(5)----求二叉树节点数,递归与非递归二叉树(6)----按层遍历二叉树二叉树(7)---
2014-12-19 18:13:36 3346
原创 链表总结----链表面试题合集
1、单链表基本操作2、双链表基本操作3、循环单链表基本操作4、反转单链表5、查找单链表倒数第K个节点6、倒序打印链表7、查找链表中间节点8、删除链表第K个节点,平均时间复杂度为O(1)9、判断链表是否有环10、判断两个单链表是否相交11、求相交链表的第一个相交节点12、判断是否有环,并判定是6型环还是0型环13、判断链表是否有环,并求环入口节点1
2014-12-13 23:25:00 2879
原创 二叉树(16)---- 一个二叉树是否包含另一个二叉树
2、问题描述二叉树A和B的每个节点的数据(int型数据)存储在不同文件中,存储方式为前序遍历和中序遍历,根据这两种遍历重建二叉树,并且判断二叉树A是否包含二叉树B。3、算法描述(1)首先将节点数据的前序遍历和中序遍历序列读入数组(2)分别根据各自的前序遍历和中序遍历重建二叉树A和B(3)判断B是否在A中代码:#include #include #includ
2014-12-30 13:34:42 1644 1
原创 二叉树(15)----由中序遍历和后序遍历重建二叉树,递归方式
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc
2014-12-18 11:29:32 2014
原创 二叉树(14)----由前序遍历和中序遍历重建二叉树,递归方式
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc
2014-12-18 00:44:53 5072
原创 二叉树(13)----求二叉树中任意两个节点之间的距离,递归和非递归
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc
2014-12-17 11:42:31 7549 1
原创 二叉树(12)----查找两个节点最低祖先节点(或最近公共父节点等),递归和非递归
1、二叉树定义:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; stru
2014-12-16 23:37:07 11691 1
原创 二叉树(11)----求二叉树的镜像,递归和非递归方式
1、二叉树定义:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; stru
2014-12-16 13:26:45 3999 2
原创 二叉树(10)----比较两个二叉树是否相同(结构和数据),递归和非递归
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struc
2014-12-16 11:41:46 10660 2
原创 二叉树(9)----打印二叉树中第K层的第M个节点,非递归算法
1、二叉树定义:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct B
2014-12-15 13:43:00 2598
原创 二叉树(8)----求二叉树第K层的节点数和二叉树第K层的叶子节点数,递归方式和非递归方式
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BT
2014-12-15 11:12:40 12670 1
原创 二叉树(7)----求二叉树叶子节点个数,递归和非递归
1、二叉树定义:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct B
2014-12-15 10:31:55 12009
原创 二叉树(6)----按层遍历二叉树
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BTr
2014-12-15 10:10:29 2974
原创 二叉树(5)----求二叉树节点数,递归与非递归
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BTr
2014-12-14 22:44:37 4046 1
原创 二叉树(4)----求二叉树深度,递归和非递归
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BTr
2014-12-14 22:11:30 12231
原创 二叉树(3)----后序遍历,递归和非递归方式
1、二叉树定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BTr
2014-12-14 21:58:22 2297 2
原创 二叉树(2)----中序遍历,递归和非递归实现
1、二叉树定义:typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; struct BT
2014-12-14 19:57:59 2097 1
原创 二叉树(1)----先序遍历(前序遍历),递归和非递归方式实现
1、二叉树节点定义typedef struct BTreeNodeElement_t_ { void *data;} BTreeNodeElement_t;typedef struct BTreeNode_t_ { BTreeNodeElement_t *m_pElemt; struct BTreeNode_t_ *m_pLeft; stru
2014-12-14 19:00:02 5849
原创 链表(15)----给定链表中间某个节点,将待插入节点插入给定节点之前
1、 链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; List
2014-12-13 22:50:36 1949
原创 链表(14)----合并两个有序链表
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListE
2014-12-13 22:31:21 1412
原创 链表(13)----判断链表是否有环,并返回环入口节点
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListE
2014-12-13 21:52:04 2096
原创 链表(12)----判断是否有环,如果有环,判断是6型环,还是0型环
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListE
2014-12-12 17:23:52 1535
原创 链表(11)----求相交链表的第一个交点
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *he
2014-12-12 16:27:49 1261
原创 链表(10)----判断两个单链表是否相交
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListEleme
2014-12-12 15:18:23 1182
原创 链表(9)----判断链表是否有环
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListEle
2014-12-12 15:05:29 1075
原创 链表(8)----删除链表的第K个节点,时间复杂度为O(1)
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListEle
2014-12-12 14:44:51 2718
原创 链表(7)----倒序打印链表
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListElem
2014-12-12 11:06:26 1798
原创 链表(6)----查找链表中间节点
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; ListElem
2014-12-12 10:43:38 2010
原创 链表(5)----查找链表倒数第K个节点
1、链表定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListElement_t *head; List
2014-12-12 10:36:02 3265
原创 链表(4)----反转链表
1、链表结构定义typedef struct ListElement_t_ { void *data; struct ListElement_t_ *next;} ListElement_t;typedef struct List_t_{ int size; int capacity; ListEleme
2014-12-11 17:21:37 1545
原创 队列(2)----用数组实现队列
1、定义typedef struct QueElement_t_ { void *data;} QueElement_t;typedef struct Que_t_{ int size; int capacity; int head; int tail; int (*destroy)(void *data ); QueElement
2014-12-11 12:54:57 817 1
原创 队列(1)----用链表实现队列
1、定义typedef struct QueElement_t_ { void *data; struct QueElement_t_ *next;} QueElement_t;typedef struct Que_t_ { int size; int capacity; int (*destroy)( void *data ); QueE
2014-12-11 11:57:04 843
原创 栈(2)----用数组实现栈
1、基本定义typedef struct StackElement_t_ { void *data;} StackElement_t;typedef struct Stack_t_ { int size; int capacity; int (*destroy)(void *data); int top_index; StackElemen
2014-12-11 09:51:49 576
原创 栈(1)----用链表实现栈
一、定义typedef struct StackElement_t_{ void *data; struct StackElement_t *next;} StackElement_t;typedef struct Stack_t_ { int size; int capacity; int (*destory)(void *data);
2014-12-10 16:36:09 770
原创 链表(3)----循环单链表基本操作
1、循环链表基本定义typedef struct CListElement_t_{ void *data; struct CListElement_t *next;} CListElement_ttypedef struct CList_t_ { int size; int (*match)(const void *key1,
2014-12-09 19:35:51 1346
原创 链表(1)----单链表基本操作
1、单链表定义单链表元素定义:typedef struct ListElement_t_{ void *data; struct ListElement_t_ *next;} ListElement_t;单链表定义:typedef struct List_t_{ int size; int (*match)(const void
2014-12-09 11:19:38 2172 3
转载 计算机科学精彩帖子收集
出处:http://blog.csdn.net/unix21/article/details/8492617linux源码LXR 源自“the Linux Cross Referencer”,中间的“X”形象地代表了“Cross”。与 Source Navigator 类似,它也是分析阅读源代码的好工具。不同的是,它将源代码借助浏览器展示出来,文件间的跳转过程成了我熟悉
2014-12-08 15:21:29 2282
esl-The Elements of Statistical Learning-英文版
2018-01-23
嵌入式LINUX系统移植步步通
2012-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人