随笔分类 -  数据结构与算法

摘要:一、题目描述 ​ 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号X、Y、Z),在X杆自下而上、由大到小按顺序放置64个金盘。游戏的目标:把X杆上的金盘全部移到Z杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都 阅读全文
posted @ 2020-06-25 14:10 ay-a 阅读(355) 评论(0) 推荐(0)
摘要:一、插入排序 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为 阅读全文
posted @ 2018-10-21 17:51 ay-a 阅读(2666) 评论(0) 推荐(0)
摘要:一、选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 二、程序实现 1.先是根据自己的思路写了下面的程序,后来发现和网上好多例子都不一样,元素交换的次 阅读全文
posted @ 2018-10-21 17:38 ay-a 阅读(1590) 评论(0) 推荐(0)
摘要:一、冒泡排序 冒泡排序就是重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如数字从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升 阅读全文
posted @ 2018-10-20 22:01 ay-a 阅读(11769) 评论(0) 推荐(0)
摘要:一个栈的C语言实现,函数声明放在 line_list.h 头文件汇总,函数定义放在line_list.c 中,main.c 用来测试各个函数. 1.文件 stack.h 1. 文件 stack.c 1. 文件main.c 阅读全文
posted @ 2018-10-08 23:10 ay-a 阅读(307) 评论(0) 推荐(0)
摘要:一个线性表表实现,函数声明放在 line_list.h 头文件汇总,函数定义放在line_list.c 中,main.c 用来测试各个函数. 1.文件 line_list.h 1. 文件 line_list.c 1. 文件 main.c c // main.c include include "li 阅读全文
posted @ 2018-10-08 22:59 ay-a 阅读(219) 评论(0) 推荐(0)
摘要:一个链表实现,函数声明放在 list.h 头文件汇总,函数定义放在list.cpp 中,main.cpp 用来测试各个函数. <! more 1.文件list.h 1. 文件list.cpp 阅读全文
posted @ 2018-10-08 22:51 ay-a 阅读(2307) 评论(0) 推荐(0)