`
zhaoqingqing
  • 浏览: 5473 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据结构

 
阅读更多
    数据结构,是一门研究非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作等的一门学科。

数据:能输入到计算机并被计算机处理的符号的总称
数据元素::数据的基本单位,由若干数据项组成。数据项是不可分割的最小的数据单位
数据对象:数据的子集,性质相同的数据元素的集合
根据数据元素的关系的不同:
1、集合
2、线性结构
3、树形结构
4、图形或网状结构
下面一个例子,是一个简单的哈夫曼树:
首先定义一个结点类:
public class Node {
public int data;
public Node left;
public Node right;

}
当创建一个Node对象时,它可存储一个数值,还可连接两个Node类型的成员变量。
首先创建n个Node对象并对它们分别赋值,将他们存储到一个数组里。用一个排序方法把它们按所存储的值从小到大存储在这个数组里。每次取出最小的两个数n1,n2,将它们的值相加,用这个值来做新创建的node的data值,把data值小n1赋值给node的左值left,n2就赋给右值right。把n1、n2从数组中删除,将node放到数组中,重新排序,重复上述做法,知道数组中只剩一个Node对象为止。
此时的n个Node对象就构成了一个哈夫曼树结构。代码如下:
public Node creatTree(int[] a){
Node[] nodes=new Node[a.length];
for(int i=0;i<a.length;i++){
Node node=new Node();
node.data=a[i];
nodes[i]=node;
}
while(nodes.length>1){
sort(nodes);
Node node=new Node();
node.data=nodes[0].data+nodes[1].data;
node.left=nodes[0];
node.right=nodes[1];
Node[] nodes1=new Node[nodes.length-1];
for(int i=0;i<nodes1.length-1;i++){
nodes1[i]=nodes[i+2];
}
nodes1[nodes1.length-1]=node;
nodes=nodes1;
}
return nodes[0];
}
分享到:
评论

相关推荐

    PTA-数据结构与算法题目集.zip

    PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 ...

    上海交大数据结构课件 上海交大数据结构课件

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中高效地组织和存储数据,以便于进行各种操作。上海交通大学的数据结构课件是学习这一主题的重要资源,它涵盖了广泛的知识点,帮助学生深入理解数据结构...

    数据结构1800题(含详解答案)

    ### 数据结构基础知识点详解 #### 一、基础知识概念解析 **1. 算法的复杂性** - **题目**: 算法的计算量的大小称为计算的()。 - **答案**: B. 复杂性 - **解析**: 算法的复杂性通常用来衡量算法执行效率的...

    精心整理史上最全的数据结构flash演示动画,共5个版本,祝大家考研成功!

    精心整理史上最全的数据结构flash演示动画,共5个版本,祝大家考研成功! \数据结构flash演示\版本1 \数据结构flash演示\版本2 \数据结构flash演示\版本3 \数据结构flash演示\版本4 \数据结构flash演示\版本5 ...

    数据结构1800题(含答案)数据结构1800题(含答案)

    数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构1800题(含答案)数据结构...

    数据结构(第4版)习题及实验参考答案-数据结构复习资料完整版(c语言版).docx

    "数据结构(第4版)习题及实验参考答案-数据结构复习资料完整版(c语言版)" 本文档是关于数据结构的习题及实验参考答案,涵盖了数据结构的基础知识、逻辑结构、物理结构、算法、时间复杂度等方面。 数据结构基础 ...

    苏大872计算机-苏州大学《数据结构》20卷试真题库+答案.rar

    苏州大学《数据结构》20卷试真题库是一本涵盖数据结构基础知识、经典算法、应用实践等方面的试题集合,适用于计算机科学、计算机工程、软件工程等专业的学生以及从事计算机算法开发的程序员。本书以数据结构和算法为...

    数据结构的pdf课件

    数据结构是计算机科学中的核心课程,它探讨了如何在计算机中高效地组织和管理数据,以便于快速查找、存储和处理。这份“数据结构的pdf课件”是学习这一主题的重要资源,尤其对于初学者来说,它能提供系统性的指导和...

    数据结构 数据结构 数据结构 数据结构 数据结构

    数据结构是计算机科学中的核心概念,它涉及到如何在计算机中有效地组织、存储和处理大量数据。数据结构的设计和选择直接影响到算法的效率以及程序的性能。在这个领域,我们研究各种不同的数据组织方式,如数组、链表...

    王道数据结构.zip

    《王道数据结构》是针对计算机科学与技术专业考研学子的重要参考资料,主要涵盖了数据结构的基础理论、算法设计以及分析等内容。这份压缩包包含了2019年和2020年的版本,无水印,适合考生们进行系统的学习和复习。 ...

    王道考研——数据结构PPT.zip

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中组织、存储和管理数据,以便高效地进行各种操作。王道考研的数据结构PPT涵盖了这门学科的关键概念和技术,对于准备考研的学生来说,是一份非常有价值...

    Java常见数据结构面试题(带答案)

    "Java常见数据结构面试题(带答案)" 以下是对Java常见数据结构面试题的知识点总结: 栈和队列 * 栈和队列的共同特点是只允许在端点处插入和删除元素。 * 栈通常采用的两种存储结构是线性存储结构和链表存储结构...

    数据结构-清华大学-严蔚敏

    清华大学严蔚敏教授所编著的《数据结构》是一本经典的教材,不仅覆盖了数据结构的基础理论,还结合了C语言的实践应用,成为学习数据结构的重要资源。 首先,数据结构的概念包括数据元素、数据项和数据对象等基本...

    数据结构与算法分析--C语言描述_数据结构与算法_

    数据结构与算法是计算机科学的基础,对于理解和设计高效的软件至关重要。C语言因其高效、底层特性,常被用于实现数据结构和算法,使得程序更接近硬件,性能更优。本资源"数据结构与算法分析--C语言描述"是针对数据...

    李春葆数据结构源代码

    《李春葆数据结构源代码》是一份宝贵的教育资源,它为学习数据结构提供了直观的实践素材。李春葆教授在第三版的教材中深入浅出地讲解了数据结构这一计算机科学的基础概念,而源代码正是理论知识的具体实现,是理解和...

    数据结构(唐发根)

    数据结构是计算机科学中的核心课程之一,主要研究如何在计算机中高效地组织和存储数据,以便于进行各种操作。唐发根教授的数据结构教程是一部深受初学者欢迎的教材,它全面且深入地介绍了数据结构的基本概念、算法和...

    数据结构和算法分析 C++版 第三版

    "数据结构和算法分析 C++版 第三版" 本资源是《数据结构和算法分析 C++版 第三版》的摘要信息,作者是Clifford A. Shaffer,来自 Virginia Tech 的计算机科学系。该书将数据结构和算法分析的基本概念和技术进行了...

    北航--数据结构课件

    数据结构是计算机科学中的核心课程,它探讨了如何在计算机中有效地存储和组织数据,以便进行高效的检索、插入和删除等操作。北京航空航天大学(北航)的数据结构课程以其严谨性和实用性著称,该课程的课件对于学习者...

    北京邮电大学809数据结构复习指南

    【北京邮电大学809数据结构复习指南】是一份由成功上岸北邮AI院的学长编写的详尽复习资料,旨在帮助备考北邮研究生考试的学生,特别是那些选择809数据结构作为专业课的考生。复习指南依据北邮研究生招生网的考试大纲...

Global site tag (gtag.js) - Google Analytics