E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
数据结构与算法分析
《
数据结构与算法分析
:C语言描述》复习——第六章“排序”——插入排序
2014.06.17 01:37 简介: 插入排序是最常用的O(n^2)级别的交换排序算法。之所以最常用,是因为它和选择排序、冒泡排序相比,有着自己的优势。 描述: 如果数组的前i - 1个元素已经排好序,你要将第i个元素插入到其中,使得前i个元素变得有序。为了找到应该插入的位置,我们从后向前扫描,直到找到合适的位置为止。扫描过程中还需要把每个检查的每个元素向后移动一位,以便给新元
·
2015-10-27 14:59
数据结构与算法
20120918-LIST类定义《
数据结构与算法分析
》
LIST类结构 1 template <typename Object> 2 class List 3 { 4 private: 5 struct Node//所有都是公有的 6 { 7 Object data; 8 Node *prev; 9
·
2015-10-27 14:09
数据结构与算法
20120918-双向链表类定义《
数据结构与算法分析
》
将新的节点插入双向链表的时候: iterator insert(iterator itr,const Object & x)//向双向链表中插入一个x节点 { Node *p = itr.current; theSize++; return iterator(p->prev = p->prev->next = new Node(x,p-
·
2015-10-27 14:09
数据结构与算法
20120918-向量实现《
数据结构与算法分析
》
#include <iostream> #include <list> #include <string> #include <vector> #include <bitset> using namespace std; template <typename Container,typename Object>
·
2015-10-27 14:08
数据结构与算法
浅谈尾递归
浅谈尾递归 2013-02-10 14:12:57 在《
数据结构与算法分析
:C描述》(Data Structures and Algorithm Analysis In C)的第三章中,以打印链表为例
·
2015-10-27 12:17
递归
数据结构之线性表-顺序存储
参考书籍 《
数据结构与算法分析
-Java语言描述》 1.1 线性表简介 线性表是0个或多个元素的有限序列。即元素之间有顺序且有限。假设表中有元素A1,A2,A3,....
·
2015-10-27 12:17
数据结构
数据结构与算法分析
3.26 — 双端队列的实现
一、题目 编写支持双端队列的例程,插入与弹出操作均花费 O(1)时间 二、解答 双端队列(deque,全名double-ended queue)是一种具有队列和栈性质的数据结构。 双端队列中的元素可以从两端弹出,插入和删除操作限定在队列的两边进行。 基本操作:在双端队列
·
2015-10-24 09:57
数据结构与算法
数据结构与算法分析
3.23 — 用一个数组实现三个(多个)栈
一、题目 用一个数组实现三个(或多个)栈 二、解答 用一个数组实现三个乃至多个栈,如果想使用一个数组构造两个栈的思想则行不通; 考虑使用静态链表,数组结点中存在两个域,关键字域与指示栈的前驱的游标,则可以使三个栈可以用一个数组表示; ADT的关键术语:  
·
2015-10-24 09:57
数据结构与算法
1-2-3 skip list 确定性跳跃表的实现
关于确定性跳跃表的定义及详细介绍,可参展
数据结构与算法分析
·
2015-10-23 09:30
list
数据结构与算法分析
3.12 — 单链表转置
题目一: 不含头结点的单链表转置,算法时间复杂度O(N) 代码如下: struct LNode; typedef struct LNode *List; typedef struct LNode *Position; struct LNode { ElementType elem; Position next; }; /* 无头结点单链表转置
·
2015-10-21 13:13
数据结构与算法
数据结构与算法分析
3.21 — 一个数组实现两个栈
问题:仅仅使用一个数组实现两个栈的例程;除非数组每个单元都被使用,否则不能出现溢出声明。 思路: 假设存在两个栈P与Q,栈P以数组首地址为栈头,其从数组头向数组尾部增长; 栈Q以数组尾部为栈尾,其从数组尾部向头部增长。 代码: struct Nod
·
2015-10-21 13:13
数据结构与算法
我收藏和推荐给大家的书
《
数据结构与算法分析
-C语言描述》(原书第二版) [C/C++] 1.《C语言程序设计语言》(第2版.新版) 清华出的影印本绝版了,可惜可惜
·
2015-10-21 12:22
推荐
JAVA通过继承线性表来实现有序表
参考《
数据结构与算法分析
第二版 JAVA语言描述》Frank M. Carrano 著 1,对于线性表而言,里面的元素是无序的,可以随意地将新元素增加到线性表中而不需要考虑该元素在线性表中的位置。
·
2015-10-21 12:46
java
JAVA实现二叉树
以前在学习数据结构时,总想着如何实际地实现出一颗二叉树出来,现在参考了《
数据结构与算法分析
JAVA语言描述 第二版》之后,照着书中的例子实现了一颗二叉树,个人感觉书上面的二叉树实现操作比较复杂。
·
2015-10-21 12:43
java实现
20120920-AVL树定义《
数据结构与算法分析
》
AVL树节点声明: 1 struct AvlNode 2 { 3 Comparable element; 4 AvlNode *left; 5 AvlNode *right; 6 int height; 7 8 AvlNode( const Comparable & theElement,AvlNode *lt,AvlNode
·
2015-10-21 11:09
数据结构与算法
20120919-二叉树 数据结构《
数据结构与算法分析
》
又是一次的毕业季,羡慕嫉妒啊.... 二叉查找树类的框架: 1 template <typename Comparable> 2 class BinarySearchTree 3 { 4 public: 5 BinarySearchTree(); 6 BinarySearchTree(const BinarySearchTree &
·
2015-10-21 11:08
数据结构与算法
编译原理学习导论
我们 学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编
·
2015-10-21 10:44
编译原理
实践才有收获——《
数据结构与算法分析
》学习感悟
收获:数据结构这门课程,我在本科大二的时候就已经修过了。当时无论是链表,栈,队列,还是二叉树。都是有学习过的。甚至连图论的Dijkstra算法,霍夫曼编码。都是考试的重点。当时是如何学习的呢?看懂算法实现的步奏,会在纸上画图。不要求编码实现!虽然说当时由于课程紧张,这样做无可厚非,但是,这样学习的来的数据结构,完全就是停在之上的,并且没有深刻理解其内涵。所以考试一结束,我很快就忘干净了。而且,当时
yw8355507
·
2015-10-17 13:00
《
数据结构与算法分析
》第十二章,K-d树,与配对堆简要介绍与实现
前言: 这里我要介绍的这4个数据结构,是在《
数据结构与算法分析
》一书上的最后4种数据结构了。
yw8355507
·
2015-10-17 01:00
《
数据结构与算法分析
》第十二章,AA-树,Treap树简要介绍与实现
前言: 这里我要介绍的这4个数据结构,是在《
数据结构与算法分析
》一书上的最后4种数据结构了。
yw8355507
·
2015-10-16 21:00
《
数据结构与算法分析
-C语言描述》中的字谜问题
通过将已知单词表中的单词存到Hash表中来提高查找效率还可以将单词表中单词的前缀也存入Hash表中再提高效率以下代码仅将单词存入Hash表#include"HashQuad.h"#include#include#include"Fatal.h"#defineMaxWordLen(4)//已知单词最大长度为4#defineROW(4)//4行#defineCOLUMN(4)//4列voidLoadW
HelloHiSuN
·
2015-10-16 16:37
数据结构与算法学习
数据结构与算法分析
:栈与队列
以下是对数据结构中的栈和队列的一些总结:一、栈栈(Stack)是一种特殊的线性表,有后进先出(LastInFirstOut,LIFO)的性质,且只能从线性表的一段进行插入和删除元素等操作。栈的常用操作有:进栈、出栈、取栈顶、将栈置空、判断栈是否为空、判断栈是否已满等等。由于栈也属于线性表,因此线性表的存储结构对栈也适用,因此,使用数组或者单向链表均可以实现栈。这两种存储结构的不同,因此实现栈的方式
liyuefeilong
·
2015-10-15 22:00
数据结构
算法
栈
队列
线性表
强连通性(poj1236 poj2186)
打算先按照《
数据结构与算法分析
》里的算法写一个,要用两次DFS,估计性能比较差吧,先试试看。妈蛋,这一试写了2天,o(╯□╰)o,还好一次AC。
woxiaohahaa
·
2015-10-10 16:00
[置顶] 《
数据结构与算法分析
》详细对比自顶向下与自底向上红黑树——C实现自顶向下插入与删除
July的博客里,还有各个知名博主博客里的红黑树基本是使用自底向上的方式来实现删除的,《
数据结构与算法分析
》这本书上建议使用自顶向下删除,但是对于如何删除,说的特别含糊,基本上不可以参考,于是在网络上寻找是否有详细的讲解
yw8355507
·
2015-10-06 17:00
《
数据结构与算法分析
》回溯算法之博弈——三连棋(tic tac toe)人机对战AI设计(αβ枝减)
前言: 这次的回溯算法实在是太有意思了,不过刚刚接触的时候确实不容理解,极小极大策略,αβ枝减看了好几遍才明白整个过程。实现的时候又发现还有细节不明白,想明白之后对于整体的认识又加深了一步。编码的过程反而没有太大的问题,只有再判断平局的时候,写错了判断的条件,导致没有平局存在,花了点时间调试就解决了。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://gi
yw8355507
·
2015-10-03 02:00
《
数据结构与算法分析
》回溯算法——收费公路重建问题详解
前言: 收费公路重建这个问题,实现的思路很简单,与最朴素的想法一致。先找到几个标准,然后进行穷举,直到找到答案,或者每一种方案都试过,证明无解。然而,在编写这个代码的时候却出现了非常多的问题,逻辑错误,不方便调试,编码完之后花了3个小时才调通。在编写这个代码的时候,一定要注意逻辑非常清楚,最好是把伪代码详细到约等于代码,再开始编写。我的github:我实现的代码全部贴在我的github中,欢迎
yw8355507
·
2015-10-02 21:00
《
数据结构与算法分析
》随机化算法--跳跃表详解
前言: 随机化算法这一章,先介绍了如何产生随机数,不过这个产生的代码已经完全给出来了,我也没有什么编码的必要了,还有一个是素性测试,利用了费马定理,可惜我看了好多遍都没有完全看懂代码和定理的联系,暂且也不再这里介绍了,今天只说说跳跃表的实现。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://github.com/YinWenAtBIT介绍:一、跳跃表:一
yw8355507
·
2015-09-30 01:00
《
数据结构与算法分析
》动态规划--矩阵乘法最优顺序、最优二叉查找树详解
前言: 最近感觉时间越来越紧张了,一堆的事情等着做,一堆的书等着看,真希望一天能有30个小时。过了一周,这本书还是停留在第十章,这一章出现的算法太多,一个个实现确实花了不少的时间。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://github.com/YinWenAtBIT介绍:一、动态规划:定义:当递归算法得到的程序时低效的时候,把递归算法改写为非递归
yw8355507
·
2015-09-29 23:00
数据结构之线性表-链式存储之循环链表(三)
参考书籍《
数据结构与算法分析
-Java语言描述》、《大话数据结构》1.1循环链表简介todo:
小-欢-欢
·
2015-09-28 23:00
数据结构之线性表-链式存储之静态链表(二)
参考书籍《
数据结构与算法分析
-Java语言描述》、《大话数据结构》1.1静态链表简介用数组描述的链表叫静态链表。官方是这么给的定义。另一种描述方法叫游标实现法。先不管这些无聊的定义。
小-欢-欢
·
2015-09-28 22:00
[置顶] 编译原理中的四种类型文法
我们学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就
u013035477
·
2015-09-27 20:00
《
数据结构与算法分析
》贪婪算法与分治算法--二维最近点问题详解
前言: 这段时间晚上都在做实习的工作,所以学习的进度有点慢了下来。不过基础是非常重要的,所以一定不能把基础给拉下,平时挤时间出来也得好好看书学习。这本书现在到了第十章,还有两章。本来打算9月底一定要弄完这本书的,不过发生了太多的事情,但是还是要尽全力往前赶。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://github.com/YinWenAtBIT介绍
yw8355507
·
2015-09-26 02:00
数据结构与算法分析
:哈希表
以下是阅读了《算法导论》后,对哈希表的一些总结:哈希表又叫散列表,是实现字典操作的一种有效数据结构。哈希表的查询效率极高,在没有冲突(后面会介绍)的情况下可做到一次存取便能得到所查记录,在理想情况下,查找一个元素的平均时间为O(1)(最差情况下散列表中查找一个元素的时间与链表中查找的时间相同:O(n),但实际情况中一般散列表的性能是比较好的)。哈希表就是描述key—value对的映射问题的数据结构
Herbert_Zero
·
2015-09-25 07:12
数据结构与算法
数据结构与算法学习笔记
数据结构与算法分析
:哈希表
以下是阅读了《算法导论》后,对哈希表的一些总结:哈希表又叫散列表,是实现字典操作的一种有效数据结构。哈希表的查询效率极高,在没有冲突(后面会介绍)的情况下可做到一次存取便能得到所查记录,在理想情况下,查找一个元素的平均时间为O(1)(最差情况下散列表中查找一个元素的时间与链表中查找的时间相同:O(n),但实际情况中一般散列表的性能是比较好的)。哈希表就是描述key—value对的映射问题的数据结构
liyuefeilong
·
2015-09-25 07:00
散列表
hash
Hashtable
哈希表
散列函数
《
数据结构与算法分析
》寻找欧拉回路--多次修改最终复杂度O(E+V)
前言: 欧拉回路这一块,书上只用画图的方式解释了思路,然后说,采用合适的数据结构,可以把复杂度变为O(E+V),课本上简单的提及了一下,使用链表,并且保存指向最后扫描到的边的指针。当时无论怎么想都没有想明白,这到底要怎么样做才能实现。于是花了4,5个小时去网上搜寻博客,寻找oj相似的题目,寻找本书的答案。结果什么结果都没有得到。最终决定,还是先实现基本的功能吧,不然这一章就白学了。然后从最基础
yw8355507
·
2015-09-16 18:00
什么是数据结构?
CliffordA.Shaffer,《
数据结构与算法分析
》“数据结构(datastructure)是计算机中存储、组
MakeYourChance
·
2015-09-15 16:00
数据结构
编程
算法
《
数据结构与算法分析
》深度优先搜索--割点寻找详解
前言: 经过一番折腾,最后还是留在了雷达所,不知道是对是错,证明自己的代价就是:别人觉得你行,然后你就得担起责任来了。虽然这些事情你一点也不想干。不说这些伤心事了,说了项目也得干,做完了再说。还是来看看今天我要做的算法吧。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://github.com/YinWenAtBIT介绍:深度优先搜索:一、定义:深度优先搜
yw8355507
·
2015-09-15 01:00
0909第一次作业
我们学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了2因为在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大
33甄增文
·
2015-09-10 18:00
0909 编译原理
我们学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。 2.为什么学编译原理?
25江志彬
·
2015-09-10 18:00
0909 编译原理
我们学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说讲的是算
12许佳仪
·
2015-09-10 18:00
0909 编译原理
我们学的
数据结构与算法分析
也是讲算法的,不过讲的基础算法,换句话说
51阳宇鑫
·
2015-09-09 17:00
《
数据结构与算法分析
》网络最大流问题
前言: 网络流最大流的实现也是对前面所学的知识的一次总结,这一部分内容书本没有给出任何的代码或者伪代码,只用画图的方式叙述了一下整个过程的思想。实现的细节就是完全根据所学的内容,利用之前的实现数据结构完成。在完成这一部分编码的过程时,还发现了我以前对邻接表实现的缺陷,内聚耦合做的不够完善,需要独立成函数的模块不够独立。在实现的过程中我重新修改了邻接表的程序模块。我的github:我实现的代码全
yw8355507
·
2015-08-30 16:00
《
数据结构与算法分析
》最短路径算法--BFS遍历和Dijkstra算法
前言: 这一周学习的效率不错,不过图论这一块确实挺麻烦的,学完了算法之后,实现起来还需要码上不少代码。不过让我感到惊奇的一点是,我本科学习数据结构的时候,觉得Dijkstra算法很难,当时只能勉强记住算法的操作步骤,具体原理没弄明白。结果现在实现完BFS遍历之后,Dijkstra算法的雏形自动在我脑子里出来了,只是在一些细节上,算法复杂度上没有想清楚。然后看书上的概念,发现Dijkstra算法
yw8355507
·
2015-08-30 14:00
《
数据结构与算法分析
》图论算法--邻接表与拓扑排序
前言: 上一周一直在忙着准备阿里巴巴的笔试,花了大量时间复习以前的内容,不过感觉好像没有起到什么作用,现在不想这些问题了,先专心学习数据结构。现在终于来到了本科时遇到最头疼的图论了。本科时就只会在纸上画一画算法,现在我要亲手实现它们。我的github:我实现的代码全部贴在我的github中,欢迎大家去参观。https://github.com/YinWenAtBIT图论算法:若干定义:一、图的
yw8355507
·
2015-08-25 02:00
排序算法小结
同时也参考了很经典的书籍《
数据结构与算法分析
——C语言描述》,温故而知新,每次回头看这些算法的时候都为其中博大精深的思想所折服,呵呵,不扯了。这里只贴出一份用代码敲出来的各个排序算法,纯粹是
u011000290
·
2015-08-24 19:00
排序
快速排序
堆排序
生成N个节点随机二叉查找树的函数 具有从1到N的不同的关键字
数据结构与算法分析
——c语言描述练习4.29本来想用一个长度为N的数组记录是否生成过这个随机数,然后在插入到树中。看了作者的给的代码瞬间惊讶。还能这样做。
qq789045
·
2015-08-23 21:00
《
数据结构与算法分析
》引论:选择问题实现
在《
数据结构与算法分析
——C语言描述》的引论中有提到一个问题:设有一组N个数而要确定其中第k个最大者。被称为选择问题(selectionproblem)。
xufeng0991
·
2015-08-21 20:00
数据结构与算法分析
——二分查找
二分查找给定一个整数X和整数A1,A2,…,An,后者已经预先排序并在内存中,求使得Ai=X的下标i,如果X不在数据中,则返回-1。例:A[6]={2,3,4,6,7,8};X=7;则i=4。实现代码如下intBinarySearch(constintA[],intX,intN){intLow,Mid,High;Low=0;High=N-1;while(LowX){High=Mid-1;}else
qq_30697841
·
2015-08-20 11:32
散列-分离链接法(
数据结构与算法分析
-C语言描述)
散列是一种以常数平均时间执行插入、删除和查找的技术。但是,那些需要元素间任何排序信息的操作将不会得到有效的支持。理想的散列表是一个具有固定大小的数组。把表的大小记作TableSize,通常的习惯是让表从0到TableSize-1变化。每个关键字被映射到从0到TableSize-1这个范围中的某个数,并且被放到适当的单元中。这个映射就叫做散列函数(hashfunction)。理想情况下它应该运算简单
一路洒满阳光
·
2015-08-19 09:00
分离链接法
C语言描述
散列函数
数据结构与算法分析
《
数据结构与算法分析
――c语言描述》读后笔记 8
二叉树表达式树的树叶是操作数(operand),比如常数或变量,而其他的节点为操作符(operator)。这里限定操作符只能为+,-,*,/四个操作符。把后缀表达式转变成表达式树:程序://expression_tree.hstruct TreeNode; typedef struct TreeNode *PtrToNode; typedef PtrToNode Tree; typedef cha
宇宙星河
·
2015-08-18 10:40
c
linux
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他