首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算机学习中的数据结构实例?

计算机学习中的数据结构实例?
EN

Stack Overflow用户
提问于 2011-01-14 19:52:01
回答 3查看 12.8K关注 0票数 2

我的朋友接受了IT公司的采访,他们问他每种数据结构的具体例子,这种数据结构是如何用于计算机学习的?

数据结构

  1. 堆栈
  2. 队列,循环队列
  3. 链接列表,双链接列表,循环链接列表
  4. 树,二叉树搜索树
  5. 图表
  6. 地图和其他喜欢搜索和排序的

(例如,在维护进程队列的操作系统中,队列数据结构对所有其他人都是这样使用的) 与软件实现和计算机科学,操作系统等相关的例子。

希望得到积极的回应

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-14 20:11:21

下面是一些例子:

  1. 堆栈撤销函数使用它从堆栈顶部弹出最近的操作,然后再弹出最近的操作,等等。
  2. 队列-进程调度通常使用队列(在初始工作发生变化后如何访问进程或线程)
  3. 目录遍历
  4. 二进制搜索树-快速搜索给定的元素
  5. 图表 -存储数据,以便您可以将其看作是绘制数据的数学“平面”。它可以有效地表示(可能)非常复杂的数据之间的关系,因为(如果您查看链接中的图像)多个“链接”可以存在于两个以上的数据之间,而不是一个链接列表,在这个列表中,您只能有一个指向您的左侧和右侧的链接。
  6. 哈希映射-搜索某些内存块(即当使用多个指针时)散列发生在您的计算机上有一个地址簿时。它可能使用哈希映射,以便当您输入约翰史密斯,他的电话号码和其他信息是可用的。这是因为当输入"John“时,有一个哈希函数指向内存中的某个位置。每次想要访问一些简单的信息时,输入一个内存地址都会让人头疼。
  7. 链接列表--单链接列表在元素之间提供一个方向的移动,双链接列表提供元素之间的来回移动,循环链接列表提供类似对象的循环导航(进程就是一个例子),当您希望能够在元素之间导航时使用它,因为每个元素都链接到下一个元素和前面的元素(循环)。非循环链表有开始和结束)。假设您的web browser...you单击"back“转到上一页,然后单击"forward”转到下一页。你可以把它想象成一个线性链表。一个照片幻灯片显示,去到下一张或上一张照片,然后最终开始在开始可以被认为是一个循环链接列表。(它们不一定是那样实现的,但这是一个很好的可视化方法)

根据OP的要求编辑有关最后结构的更多信息。

票数 8
EN

Stack Overflow用户

发布于 2011-01-14 20:00:57

队列通常用于将一组数据保存在有组织的结构中,以便在需要时立即访问它,因为它是FIFO (先入先出)。但是,当将信息填充到该队列时,当该队列是完全时,其余的信息就会丢失。为了解决这个问题,使用循环队列,它覆盖其他元素,以便最近的数据是而不是丢失。

您提到的一个例子是计算机的资源队列。由于计算机没有无限资源,因此必须使用队列来将资源分配给需要队列的人。例如,一个进程将请求一些资源,它将被抛到队列中,并被赋予一个优先级级别,然后操作系统将根据这些信息来决定它需要多少资源和将给它多少时间。为了允许多个进程利用这一点,任何需要处理的进程都会将请求放入该队列中。

链接列表有许多应用程序,实际上不可能将其简化为一个应用程序。例如,可以通过链接列表中元素节点的队列链接帐户(对象)。在链接列表中,节点具有前节点和下一个节点。它有效地将所有元素连接在一起,以便能够被遍历。取决于链接列表的样式,它允许向前遍历、向后遍历或同时允许两个方向。需要注意的一点是,链接列表在大小上可以是动态的,因为添加新注释所需要做的就是将其附加到列表的末尾。但是,就性能而言,速度是O(N),这意味着性能在很大程度上取决于列表的大小。

我希望这能帮到你。

票数 0
EN

Stack Overflow用户

发布于 2011-01-15 07:16:55

  1. 堆栈-任何递归调用
  2. 队列,循环队列-所有FIFO algo都使用以下
  3. 链接列表,双链接列表,循环链接列表-所有的关系数据库管理系统
  4. 树,二叉树搜索树-需要搜索的地方。内存存储在B树中
  5. 图-谷歌地图
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4695274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档