数据结构和算法
xl-xulei
这个作者很懒,什么都没留下…
展开
-
循环与递归的区别
循环(迭代)与递归的区别 简单来说: 递归: 易于理解, 速度慢, 存储空间大,循环: 不易理解, 速度快, 存储空间小. 文章出处:http://blog.sina.com.cn/s/blog_62b1508e0100hcyx.html1。递归算法与迭代算法的设计思路区别在于:函数或算法是否具备收敛性,当且仅当一个算法存在预期的收敛转载 2013-03-24 00:51:32 · 649 阅读 · 0 评论 -
数据结构学习之_二叉树的遍历
/* 2013年3月25日 22:17:47 xulei 二叉树的遍历分为三种: 先序遍历(DLR): 先访问根节点, 再访问左节点, 最后访问右节点 中序遍历(LDR): 先访问左节点, 再访问根节点, 最后访问右节点 后序遍历(LRD): 先访问左节点, 再访问右节点, 最后访问根节点*/#include #include struct BiTreeNode{ cha原创 2013-03-25 23:35:02 · 480 阅读 · 0 评论 -
数据结构学习之_汉诺塔递归算法
/* 2013年3月25日 22:59:36 xulei 汉诺塔: 设有n个盘子, 源柱子: A 中间柱子: B 目标柱子: C 1. 先把A柱子上的前n-1个盘子从A借助C 移动到B; (移完后, A上只剩下最下面的那一个盘子了, 上面的n-1个已经移到了B上) 2. 将A上的第n 个盘子直接移动到C 上. 盘子减少一个 3. 再将B柱子上的n-1个盘子借助于A 移到C.原创 2013-03-25 23:41:01 · 592 阅读 · 0 评论 -
数据结构学习之_快速排序法
/* 2013年3月25日 21:21:39 xulei 快速排序法: 1. 先找到第一个元素的位置, 把需要排序的序列分成两个部分; 2. 分别对左/右部分进行第一步操作, 直到左右部分只有一个元素为止. 如数组: 9 0 8 10 -5 2 13 , 升序排序 1. 定义中间值: val 保存第一个元素值, 两个指针:low->指向第一个元素, high->指向最后一个元素.原创 2013-03-25 23:42:52 · 520 阅读 · 0 评论 -
数据结构学习之_冒泡排序法
/* 2013年3月25日 22:09:26 xulei 冒泡排序法: 如(升序) 1. 拿第一个元素去和后面所有元素逐个比较, 如果比第一个元素小, 交换两元素值, 直到找出最小值. 2. 拿第二个元素去逐个比较, 找到最小值. 3. 直到很个元素都比较完了, 排序完成.*/#include int main(int argc, char **argv){ int原创 2013-03-25 23:46:09 · 563 阅读 · 0 评论 -
数据结构学习之_循环队列
/* 2013年3月26日 21:40:14 xulei 队列: 满足先进先出的序列. 通常可分为: 链式队列(内部是链表), 静态队列(内部是数组) 队列的第一个节点: 队头(front), 允许删除(出队), 指向第一个有效节点. 队列的最后一个节点: 队尾(rear), 允许插入(入队), 指向最后一个有效节点的下一个节点. 静态队列通常都必须是循环队列. 循环队列的操作: 如原创 2013-03-26 22:39:38 · 637 阅读 · 0 评论 -
linux 内核链表操作头文件list.h
linux 内核中的链表头文件, 提供了很多可对链表操作的好方法, 头文件在windwos 中只有C语言能编过, C++还编不过#ifndef _LINUX_LIST_H#define _LINUX_LIST_H#define inline __inline#define LIST_POISON1 (void *) 0x00100100#define LIST_POISO原创 2013-04-18 22:05:01 · 2535 阅读 · 0 评论 -
linux 内核链表操作头文件list.h C++
之前发了一个C能编能过的list.h, C++ 老是编不过, 发现里面有几个从void * 转为其它的类型, 是不能自动转, 需要自己手动强转一下.还有就是里面用了好多new的地方, 在C++中, new是关键字, 不能使用, 修改一下就好了. 下面是修改过后的list.h, 能编过, 还不知道能不能使用. #ifndef _LINUX_LIST_H#define _LIN原创 2013-04-18 22:51:22 · 1491 阅读 · 2 评论 -
查找文件中相同的行
今天测试部的同事叫我帮他们弄个小程序, 实现从文件中查找相同的行, 并去掉相同的行, 想想也不难, 花了点时间将它敲出来了, 下面代码用了两种方法实现, 还有一种方法提了一下, 懒得去实现, 有兴趣的朋友可以去实现了下,三种方法都不难, 在此贴出来, 方便其它朋友,/************************************************ * 2013年4月原创 2013-04-18 21:53:35 · 1199 阅读 · 1 评论