
数据结构
文章平均质量分 95
程序员在旅途
计算机领域耕作者。
展开
-
汉诺塔问题的求解与分析
一、递归算法介绍 这篇文章讲的是一个古老而又经典的汉诺塔问题,他是递归算法的一个很好的应用实例。有关递归函数的介绍,在使用递归函数求解字符串的逆置问题文章中介绍过。递归思想是来解决可计算问题的,他的根本特征在于逐步的计算和分解这一计算,通过将某一大问题不断的分解成逻辑上相同的小问题,然后对小问题的求解进而获得最终的答案。使用递归算法的程序在形式上往往都比较简洁明了,这也正是他的价值所在。(更好地阅读体验,请访问程原创 2020-07-09 13:28:01 · 7566 阅读 · 6 评论 -
使用递归函数求解字符串的逆置问题
一、递归函数概述 在使用面向过程的编程语言进行程序编写的过程中,一般是按照结构化的编程思想、模块化的程序设计方法来进行程序的编写和代码的组织的。我们熟悉的C语言就是这样一类程序设计语言,它通常以函数为单位进行程序的模块化组织,C源程序就是由一个主函数和若干非主函数构成的。计算机在执行C程序时,是按照顺序从主函数main()开始执行,如果遇到调用其他函数的情况,则主函数暂停执行,转而执行相应的函数,该函数执行完毕之原创 2020-07-06 20:38:41 · 3897 阅读 · 4 评论 -
队列的基本概念介绍以及典型应用示例
一、队列的概念介绍 提到队列这个词,或许你不会感到陌生,在我们的生活中,应用到队列这个概念的场景非常之多。我们日常的排队买饭,总是第一个到达窗口的人先买到然后离开,后来的人总是后来离去;再有,去医院挂号排队,也总是遵循一般的先来先就医服务的原则。计算机中的队列数据结构的设计,也是为了更好地解决这类先来先服务问题的。 队原创 2020-07-03 14:05:15 · 9064 阅读 · 4 评论 -
以数制转换问题讲解栈数据结构的基本概念及其在计算机中的应用
以数制转换问题讲解栈数据结构的基本概念及其在计算机中的应用一、栈的概念介绍 在我们的生活中,总有这么一些例子,①食堂在堆放餐盘的时候,总是从下往上,在取餐盘的时候,又是从上往下;②最先放入厢式货车的货物,最后才能取出;③普通手枪的子弹夹,先装进弹夹的子弹,最后才会被打出来。类似于这样的场景还有很多,这样的存取顺序,我们称之为先进后出(LIFO)。这种存取方式在解决某些计算机问题的时候非常高效,因此...原创 2020-06-30 22:17:28 · 2693 阅读 · 2 评论 -
寻找链表中值域最小的节点并移到链表的最前面
一、题目描述 已知线性链表由list指出,链节点的构造为(data,next),请写一个算法,将链表中数据域值最小的那个节点移动到链表的最前面。(不能申请额外的节点)(更好的阅读体验,请访问程序员在旅途)二、分析解答 主要解题思路就是,遍历链表,找到最小的那个节点min,以及该节点的前驱pre_min,然后将其移到链原创 2020-06-23 09:27:33 · 7928 阅读 · 3 评论 -
删除单链表中的重复节点
删除单链表中的重复节点一、题目描述 已知单链表L,写一算法,删除其中的重复节点。二、分析解答 2.1 知识点分析 本题主要考察链表的相关知识点,其中包括:单链表的结构、创建、遍历、删除等操作。要想熟练的使用链表,必须对这些有着清楚的认识。 链表是线性结构的一种物理实现,除此之外,线性结构还可以使用顺序存储结构来实现。...原创 2020-06-21 21:59:01 · 11852 阅读 · 0 评论 -
使用单链表数据结构存储结构化的学生信息
使用单链表数据结构存储结构化的学生信息一、题目描述 定义一个学生结构体,包含有:学号,姓名,成绩。输入N个学生的信息,并进行基本的链表操作。(更好的阅读体验,请在我的博客网站上阅读此文:使用单链表数据结构存储结构化的学生信息)二、分析与解答 这是一道主要考察基础知识点运用的题目,涉及到结构体、指针、字符数组等相关的概念。因此,要熟练的掌握这些知识点的定义与使...原创 2020-06-16 22:00:05 · 10228 阅读 · 2 评论 -
数据结构之广义表的相关知识点
一,广义表的基本概念: 广义表(Lists,又称列表)是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构(即可以有子表)。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示为一系列的广义表。二,广义表的基本表示: 1, 概念角度分析:...原创 2016-06-04 00:19:16 · 12192 阅读 · 4 评论 -
C语言实现二叉树的各种遍历及求解深度
C语言实现二叉树的各种遍历及求解深度一、介绍 二叉树是一种重要的数据结构,在很多方面都有重要的应用,此文主要记录了二叉树的基础知识,包括二叉树的建立、前中后序遍历方式、层次遍历方式、求解二叉树的深度、求解二叉树的节点总数、求解二叉树每层的节点数目等。二、实现思路 主要借助栈和队列方式实现二叉树的非递归访问等操作,二叉树的建立采用递归方式。层次遍历时,原创 2017-05-27 12:18:24 · 20482 阅读 · 6 评论