【由计算机求解引入的算法】 by N.Wirth 【问题引入】 在本科(计算机科班)学习中,周围很多同学都被C语言劝退在门槛之外,我想很大原因是许多…
标签:数据结构
【程序设计基础】2019级广西师范大学计信学院硕士研究生复试笔试试题
【背景】 一年的考研走完了最后一关,趁现在对笔试试题还有点印象,留下点什么证明自己走到过这一步吧。 【版权说明】  …
【数据结构】排序算法(三)——插入排序
【背景】 插入排序(Insertion Sort)是一种简单有效的比较排序算法,属于原地排序。 【源码运行环境】 操作系统:Windows 10 编译环境:Dev C++(基于C99标准) 【基本思想】 在每次迭代过程中…
【数据结构】有序链表合并(归并)问题的一种解决思路
【背景】 设计一个程序,将两个递增的有序链表合并成一个递减的有序链表,要求结果链表仍使用原来两个链表的存储空间,合并后不允许有重复的数据。 (本题取自广西师范大学2018年硕士研究生招生考试试题编程题部分)。 【源码运行…
【数据结构】排序算法(二)——快速排序
【背景】 快速排序(Quicksort)是对冒泡排序的一种改进。 【源码运行环境】 操作系统:Windows 10 编译环境:Dev C++(基于C99标准) 【基本思想】 通过一趟排序将要排序的数据分割成独立的两部分,…
【数据结构】排序算法(一)——冒泡排序
【背景】 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端…
【数据结构】二分查找的实现
【背景】 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 【源码运行环境】 操作系统:Windows 10 编…
【数据结构】求十进制转二进制的递归算法
【背景】 在计算机中,基本的编码都是以二进制为基础。为此,理解进制转换过程,可以帮助我们更好地理解计算机底层的原理。(本题取自广西师范大学2017年硕士研究生招生考试试题编程题部分。) 【源码运行环境】 操作系统:Win…
【数据结构】散列表-Hash_Table
【背景】 在我们学过的查找方法中,在顺序表上进行的查找操作中,如果想查找某个关键字的记录,就是得从表头开始,逐个进行比较,直到找到关键字为止。到了后来我们学习了有序表地查找,利用折半查找的方法减少了查找的时间支出,提升了…
【数据结构】栈/队列的两种实现方式(顺序栈、链栈、顺序队列、链队列)(C语言)
【背景】 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,…