数据结构与算法
F_Zest
Coding...
展开
-
动态规划与背包问题
一、动态规划的基本概念1.阶段:把一个问题的过程,恰当的分成若干个相互联系的阶段,以便于按一定的次序去求解。2.状态:表示当前阶段开始所处的自然状况,一个阶段一般有多个阶段。3.决策:当过程处于某个阶段的某一个状态时,可以做出不同的决定,从而确定下一个阶段的状态,而这个决定则是决策。4.状态转移方程:是确定一个状态到另一个状态的演变过程。设s为状态,u为决策,则状态转移方程可以表示原创 2012-10-04 01:42:59 · 397 阅读 · 0 评论 -
【链表篇】单向链表的基础知识
1. 存储方式typedef struct LINKNODE{ DataType data; //节点的值 struct LINKNODE* next; //指向下一个节点的指针}LNode;2. 基本操作(1)链表的创建 在创建链表时,有两种实现方式:第一种,每创建一个新原创 2012-09-15 19:18:40 · 362 阅读 · 0 评论 -
【链表篇】链表面试题集
1. 给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点。 判断单向链表是否有环,可以采用快指针与慢指针的方式来解决。即定义一个快指针fast和一个慢指针slow,使得fast每次跳跃两个节点,slow每次跳跃一个节点。如果链表没有环的话,则slow与fast永远不会相遇(这里链表至少有两个节点);如果有环,则fast与slow将会在环中相遇。判断出链表有环以后,则需原创 2012-09-16 14:32:29 · 2549 阅读 · 0 评论 -
图的基础知识
1、图的种类简单图、多重图、伪图、有向图、有向多重图2、图的相关术语无向图的度:与顶点相关联的边的个数。度为0的顶点称为孤立的,度为1的顶点称为悬挂的。【非常重要】握手定理:设G(V,E)是一个含有e条边的无向图,则有: 推论:无向图的所有顶点的度数之和为偶数,且有偶数个奇数度顶点。有向图的入度和出度:对于有向图中的一原创 2012-09-17 10:42:32 · 371 阅读 · 0 评论 -
经典的各类排序总结
1. 插入排序实现源码:void InsertSort(int* arr, unsigned int len){ //前置条件判断 if (!arr || len <= 1) { return; } unsigned int i; unsigned int j; for (i = 1; i < len; i++) { j = i - 1; int x = a原创 2012-09-16 22:56:18 · 509 阅读 · 0 评论 -
全排列问题的栈实现
将1到n的所有排列全部都输出来,称之为全排列问题。原创 2014-09-07 14:55:31 · 2213 阅读 · 2 评论