数据结构_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 数据结构 >>列表
VisuAlgo是由StevenHalim博士在2011年发布的一款可视化学习算法的工具,用于帮助其学生更好地理解数据结构和算法,可以让学生按自己的步骤来学习。VisuAlgo就像是Steven7天24小时陪伴在学生身边一样,想什么时候学习就可以什么时候学习。VisuAlgo不仅支持暂停、单步、回退等功能,演示算法的时候,还可查看算法代码的执行过程。后来,由于新加坡国立大学学生的加入,VisuAlgo的功能的也变的更加丰富,从简单的排序算法到复杂的图形数据结构和算法都一一实现... 查看全文
· java数据结构之链表发布时间:2014-11-20
假设读者有一定数据结构应用经验,比如写过数组,队列,链表。计算机中,有数据结构这种概念,(作者大胆假设)是因为1.计算机自身特点,即底层进行数据交换时寻址等客观因素的限制,因为存储空间分为连续的和非连续的,访问非连续空间时怎么将其联系起来,就成了链表要解决的问题。2.具体应用的时候节省空间时间。(假设结束)链表的java实现。java中最基础的,最常见的联系是(类)对象,与其内部的属性、方法的联系,(类)对象可以通过方法或者直接访问的形式调取自身的属性,一个类的属性分为两类... 查看全文
· 数据结构—数组和链表发布时间:2014-11-18
数据结构—数组和链表一、数组是连续线性的结构,所储存的数据长度是不可更改的,不能对其进行插入,删除,修改的操作。身份证号的存储是数组,由于长度不够,从15位扩展到了18位。定义数组的四种方式:1:数组类型[]数组名=new数组类型[长度];2:数组类型[]数组名={值…};3:数组类型[]数组名=new数组类型[]{值…};4:数组类型[]数组名;数组名=new数组类型[长度];二、链表的存储是离散的,它的长度在建成之后可以改变,并且可以对其进行删改的操作。链表是由节点组成的... 查看全文
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(HashTable)什么是哈希表哈希表就是一种以键-值(key-indexed)存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单... 查看全文
· C#(数据结构):1.顺序表结构发布时间:2014-08-21
我们程序员有三大优点:懒、困、自负。很荣幸我这三点都占了。但是木有关系这丝毫动摇不了我学习的决心。因为技术没有止境。-------------------------------------------------------------------------------------万恶的分割线------------------------------------------------------一个人生的分割线。曾多少次我告诉自己要和昨天的自己说再见。不带走自己的过去... 查看全文
· 常用数据结构及复杂度发布时间:2014-07-01
常用数据结构的时间复杂度DataStructureAddFindDeleteGetByIndexArray(T[])O(n)O(n)O(n)O(1)Linkedlist(LinkedList<T>)O(1)O(n)O(n)O(n)Resizablearraylist(List<T>)O(1)O(n)O(n)O(1)Stack(Stack<T>)O(1)-O(1)-Queue(Queue<T>)O(1)-O(1)-Hashtable... 查看全文
$files=scandir('.');echo'<tablealign="center"border="1"cellpadding="5"cellspacing="0"width="800"style="min-width:444px;">';$counter=1;$each_columns=4;foreach($filesas$file_num=>$file){if($file_num>1){$file=iconv("GBK","UTF-8",$file)... 查看全文
ArrayList和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!线性表,链表,哈希表是常用的数据结构,在进行Java开发时... 查看全文
· 数据结构-线性表发布时间:2014-03-26
一.线性表1.线性表的概念:由称为元素的数据项组成的一种有限有序(有序指线性表中的每一个元素都有自己的位置)的序列。注:线性表中的第一个位置是用0来表示。线性表的C++抽象类声明:(抽象类:成员函数都被声明为"纯虚的",即在函数方法声明的最后有"=0"的符号。)template<classElem>classList{public:virtualvoidclear()=0;virtualvoidinsert(constElem&)=0;virtualvoidappend... 查看全文
· 学习数据结构的心得感悟~~发布时间:2014-03-24
之前大一的时候开过数据结构这门课,不过学过之后也不知道学这个是用来做什么的,现在大三下半年了要为找实习找工作做准备,又拿起数据结构狂啃,不过已经不是当初那种挺迷惑的不知道所以然的心情了,我想这就是在实践中渐渐领悟到有些东西的缘故吧。作为一名IT专业的学生,只有理论知识,不实践,是没有前途的,因为有些东西你只有在动手的过程中,才能更好更深层的去理解它,在发现问题时运用所学的知识去解决问题,在这个过程中你会不断地成长,接受技术知识的能力也会不断地提升。说说现在我对数据结构的理解吧,首先... 查看全文
· lesson5 数据结构发布时间:2013-12-02
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。百度百科如是说。。至于我之前对数据结构的看法,也就是用来存储数据的一个载体,那么与专业这么一比也就太浅薄了。。不管怎样,至少懂得怎么来用是基础吧。废话不多说,先写数组的队列,数组队列的优势在于查找快,缺点是增删慢。1.数组队列构造方法(设定初始数组长度)... 查看全文
· 数据结构之链表发布时间:2013-11-30
数据在计算机内有两种存储结构,一种是顺序结构,另一种是树形(索引)结构。在顺序结构里面一般分为数组和链表两种结构。数组是一种物理地址上连续,即在内存中为连续的一个块。而链表是一种逻辑上的连续,数组可以通过下标来查找到数组中的一个值。而链表是通过一个根节点开始遍历来查找值。数组与链表各有优缺点。数组方便查找。链表方便插入与删除等修改操作。数组的结构大家应该都有所了解。这里讲一讲链表的数据结构,它是一种链式的,形象的说就是一环紧扣一环的形状。有一种顺藤摸瓜的意思... 查看全文
· 数据结构发布时间:2013-11-30
现在我大二了,学校里面开的数据结构我们已经学习了半个多学期了。在我看来,数据结构这东西其实是非常重要的,他会告诉你什么时候用什么算法,用那种思想考虑问题,会是你的代码有大幅度的提升。并且还有一个更重要的认识便是,对于数据结构而言,无论是那种语言,都是通用的。那就让我先概括的介绍一下基本数据结构吧。数据结构包含线性表、栈、队列、二叉树、树这几种基本的结构。一:线性表、栈、队列在我学的这本数据结构书上,将这三种基本结构放在了一章上面了,其实并不是因为这三种不重要或者是简单... 查看全文
· 数据结构小结发布时间:2013-11-29
最近在学数据结构,数据结构就我看来就是数据与数据之间的关系,比如链表就是将多个数据元素通过一定关系链接起来,只要找到第一个数据,就能找到别的所有的数据,链表的好处在于删除数据比较快捷,但查找效率就比较低,在比如树就是链表的一个延展,可以将树看成是由链表组成的,而栈只要清楚栈的定义是先来后出,后来先出,就可以通过数组实现啦,对啦,链表和树是要自己定义节点的。下面是我写的一个树类和栈类:/***栈*@author**/publicclassStack<E>... 查看全文
· 数据结构(数组与链表)发布时间:2013-11-28
1.数组,优点:查找方便,缺点:增删不方便链表,优点:增删方便,缺点:查找不方便2.数组:一般长度是有限的,为了方便能使用,可以通过新建一个数组,来增加数组的长度,步骤:创建新数组(长度比原数组多一);将元素复制进新数组;添加新元素;新数组指向原数组。自己定义增删改查遍历等功能,数组自带长度属性。publicclassList<E>{//定义一个新数组Object[]src=newObject[0];/***添加元素*@params要添加的元素*/publicvoidadd(Es)... 查看全文
· 数据结构发布时间:2013-11-26
java的数据类型分为基本数据类型和对象数据类型两大类;基本数据类型包括:Java有八大基本数据类型byte字节性1个字节8bit-128~127short短整型2个字节16bitint整型4个字节32bitlong长整型8个字节64bit//这几种默认数据为0;float单精度4个字节32bitdouble双精度8个字节64bit默认数据为0.0;char字符型2个字节16bitboolean布尔类型true和false条件默认false对象数据类型主要包括用class,interface... 查看全文
1.排序的基本概念:排序是各门语言中的核心,也是计算机数据处理中的核心运算,是我们学过的“数据结构与算法”课程的重点。排序算法能够体现算法设计和算法分析的精神。有效的排序算法在一些算法(例如搜索算法与合并算法)中是重要的,如此这些算法才能得到正确解答。这篇博文主要包含了8大内部排序的算法复杂度,稳定性以及c语言描述算法和可视化过程,花时间总结了很久,但是肯定仍有不足,希望各位大神能指点迷津。小注:刚发现,可视化过程的图片是gif格式,但是传上去之后好像不动,不好意思... 查看全文
写在前面的话在编程领域有一句人尽皆知的法则“程序=数据结构+算法”,我个人是不太赞同这句话(因为我觉得程序不仅仅是数据结构加算法),但是在日常的学习和工作中我确认深深感受到数据结构和算法的重要性,很多东西,如果你愿意稍稍往深处挖一点,那么扑面而来的一定是各种数据结构和算法知识。例如几乎每个程序员都要打交道的数据库,如果仅仅是用来存个数据、建建表、建建索引、做做增删改查,那么也许觉得数据结构和这东西没什么关系。不过要是哪天心血来潮,想知道的多一点,想研究一下如何优化数据库... 查看全文
· 数据结构——并查集发布时间:2013-08-09
让我们首先了解一下什么是并查集。并查集的英文:DisjointSet,即“不相交集合“,将编号分别为1…N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素代表所在集合。常见两种操作:合并两个集合查找某元素属于哪个集合这也就是这种数据结构叫并查集的原因!!!,下面是一种最简单的实现方法。这种方法合并的时间复杂度是O(n),查找是O(1)的复杂度。伪码如下:有没有优化的方法呢?当然是有的,因为上面我们合并两个集合必须搜索整个集合。那如果我们采用树结构呢?这的确是个好想法。大致伪码如下... 查看全文
· 数据结构——堆栈发布时间:2013-08-08
对于栈,想必大家都十分熟悉了,也能很快的答出栈是一个先进后出的队列。但是在平常编程的生活中应用的十分少。在ACM中,栈是一种十分重要的数据结构(其他领域也一样),我们可以用这种数据结构解决一些十分棘手的问题,大大提高了程序的效率。有这样一道名为SoftwareBUGs的题。题目的意思简要来说就是去除一篇文章中的所有”BUG”字段。有些人可能认为这是一道水题,直接扫描文章,将其中的”BUG”去掉就行。这样很容易就落进了陷阱。例如对于一个字符串“BBUBUGGG”直接扫描过去得到“BBUGGG”... 查看全文