数据结构及算法
爱若一生
C 菜鸟即将精通
展开
-
数据结构复习
算法:是在好的数据结构的基础上的。比较,交换概念:1. 算法的复杂度:1.时间复杂度 。2.空间复杂度(越来越不重要了,因为空间越来越不值钱了)2.时间复杂度:即算法所话费的时间。1.平均运行的时间 2.最佳 和 最差 的运行情况 (依据这2两点)3.典型的表示法:Big O 表示法(大O):N表示数据的个数。 ----》 复杂度越低,运行效率则越高。4.搜索: 1.原创 2011-12-27 22:43:12 · 715 阅读 · 0 评论 -
数据结构算法复习
啊黄的:1.数据结构:是指同一数据元素类中各数据元素之间存在的关系。2.复杂度越低效率越高3.大小排序:O(logN)4.搜索:线性搜索:O(N) (只需一层循环) 二叉搜索:O(logN)(每个元素不一定都要访问一次,有顺序)排序:冒泡、选择、插入:O(N^2)(会用到两层的循环) 快速(二分排序):O(N*logN) (每一个元素还是要至少访问一次,比较的原创 2012-03-20 15:08:11 · 883 阅读 · 0 评论 -
我看资料等发现的好的算法,打算据为己用
1.STL中 List 的InsertAt()里面的:ListNode* current = head;while( index ){ //index 表示要插入的位置 current = current->GetLink(); //GetLink 获取当前节点的指针(该指针指向下一个节点地址) --index;}我觉得好的地方: index表示要插入的位置,但是这个算法原创 2012-07-05 16:55:15 · 781 阅读 · 0 评论 -
学数据结构的打算
算法练习:1.写List类,练习。2.两个有序链表的合并之后还保持有序。3.编写单向循环链表CirList类,练习。使用该类解决月设伏问题 page 168算法新概念:1.链表--》链表包括结点,结点是组成链表的基本单位。2.单向循环链表:的优点:从任意结点出发都可以访问到链表中所有结点,这一优点使用某些运算方便死了。即链表尾结点指向了首原创 2012-07-25 11:11:36 · 1603 阅读 · 0 评论 -
归并排序算法 C代码实现
合并排序(MERGE SORT)是又一类不同的排序方法,合并的含义就是将两个或两个以上的有序数据序列合并成一个新的有序数据序列,因此它又叫归并算法。它的基本思想就是假设数组A有N个元素,那么可以看成数组A是又N个有序的子序列组成,每个子序列的长度为1,然后再两两合并,得到了一个 N/2 个长度为2或1的有序子序列,再两两合并,如此重复,值得得到一个长度为N的有序数据序列为止,这种排序方法称为2—路转载 2012-03-30 08:04:30 · 43572 阅读 · 17 评论 -
设计方面
1.模块与模块之间,最常用的设计 1.中心点,向外扩散,各个模块的通信通过中心原点,他们之间没有任何关系。 2.单链表形式,一个模块被上一个模块调用,下面的模块完全与上面的模块无关。mvc原创 2013-12-19 20:00:30 · 764 阅读 · 2 评论