
算法与数据结构
文章平均质量分 86
小飞哥0217
软件开发
展开
-
浅谈动态规划算法设计
在算法与数据结构这门学科中,一直是重难点。要知道什么时候采用动态规划的算法解决实际问题的首要条件是了解解决最优化问题时需要考虑的两个要素:最优子结构和重叠子问题。原创 2016-04-02 20:00:33 · 1159 阅读 · 0 评论 -
回溯法解数独游戏
前言采用回溯法最经典的例子是解决8皇后和迷宫的问题。不习惯走别人的路,所以下面介绍下用回溯法解数独游戏。写这个算法的起因是之前在玩数独游戏时,遇到了难解的专家模式,就想着写程序来暴力破解,是不是很无赖,啊哦……原创 2016-04-08 17:40:13 · 6785 阅读 · 0 评论 -
数据结构(三)——栈(C语言实现)
定义实现定义结构定义操作初始化栈判断栈是否为空访问栈顶元素出栈入栈定义在线性表中,根据存储结构可分为:顺序表和链表。顺序表和链表可以访问任意位置结点,在任意位置插入和删除结点。倘若对上述操作加以限制,如: 1. 在线性表的一端插入、删除、访问结点。 2. 在线性表的一端插入结点、另一端删除、访问结点。*注:对线性表操作的限制有很多,上述只介绍两种主流的限制,在数据结构中叫做栈原创 2016-10-15 17:18:22 · 965 阅读 · 1 评论 -
数据结构(四)——队列(C语言实现)
定义实现定义结构定义操作创建队列判断队列是否为空访问队首元素出队入队定义在栈中提到,队列是操作受限制的特殊的线性表。 在队列的一端只能插入元素,这一端叫做队尾。 在队列的另一端只能删除元素,这一端叫做队首。同样举个栗子。 在食堂排队打饭,跑的快的同学排在队列的前面,最先打到饭菜。后续到的同学只能依次排列在队尾。买到饭菜的同学离开队列叫做出队,进入队列等候叫做入队。食堂阿姨给队列原创 2016-10-15 18:05:46 · 1605 阅读 · 0 评论 -
数据结构(一)——顺序表(C语言实现)
顺序表的简单实现原创 2016-09-30 18:00:37 · 57153 阅读 · 13 评论 -
数据结构(二)——链表(C语言实现)
链表的使用原创 2016-09-30 22:08:32 · 1165 阅读 · 0 评论 -
数据结构(五)——二叉树(C语言实现)
定义实现定义结构定义操作构造空二叉树创建二叉树递归先序遍历递归中序遍历递归后序遍历非递归先序遍历非递归中序遍历非递归后序遍历层次遍历访问结点定义之前四篇博客分别介绍了线性结构中的顺序表、链表、栈、队列。从难度来讲,顺序表到链表是递增的。从实现来讲,栈和队列基于顺序表和链表(之前栈采用了顺序表的存储结构,队列采用了链表的存储结构)。此次介绍的二叉树虽是非线性结构的树形结构分支原创 2016-10-18 22:49:19 · 2759 阅读 · 2 评论