数据结构和算法
aimsgmiss
开开心心,每天进步一点点~~!
展开
-
背包问题(0~1)
#define kProductNum 12 void knapsackProblem(){ int value[] = {0,10000,2000,2550,2900,500,4000,3000,22000,5894,2455,5885}; int weight[] = {0,1,3,4,5,1,2,3,1,3,1,2}; int v[kProductNum][kProductNum] = {0}; int path[kProductNum][kProductNum] =.原创 2021-07-26 19:29:36 · 135 阅读 · 0 评论 -
迪杰斯特拉算法(Dijkstra) ES6实现
class Graph{ constructor(props){ this.edges = [ [65535,65535,65535,65535,65535,65535,65535], [65535,65535,65535,65535,65535,65535,65535], [65535,65535,65535,65535,65535,65535,65535], [655...原创 2021-07-26 19:20:58 · 148 阅读 · 0 评论 -
对字符串 “ABC” 所有子集的列举
/*** * 引用:http://data.biancheng.net/view/34.html * 对字符串 “ABC” 所有子集的列举(使用回溯法-这里实际上是二叉树的深度优先遍历) *从集合的开头元素开始,对每个元素都有两种选择:取还是舍。当确定了一个元素的取舍之后,再进行下一个元素,直到集合最后一个元素。其中的每个操作都可以看作是一次尝试,每次尝试都可以得出一个结果。将得到的结果综合起来,就是集合的所有子集。 * */ void allPermutation(char* str,NSS.原创 2021-06-25 17:00:08 · 1634 阅读 · 0 评论 -
c语言单链表操作,编程关键是获取别人的思想
#include #include #include typedef char ElemType; typedef int Integer; #define MAXSIZE 10 #define N sizeof(struct Node) typedef struct Node { Integer data; struct Node *next; }LinkList原创 2013-06-16 22:16:52 · 788 阅读 · 0 评论 -
你有1元、5元、7元三种硬币,求一种方法,用最少的硬币凑出m元
转载:https://blog.csdn.net/wjheha/article/details/77924642 /* * 代码:学习动态规划的思想,采用自底向上,用迭代去实现。 * * 硬币数目的最小单元是1、3、5,凑一次必须使用三个单元之一,假设 * 钱的数目为m,则 m = 1 * x + 3 * y + 5 * z; * * 如果要凑够0元,只有一种方案,使用0个硬币...转载 2018-08-20 11:41:09 · 3430 阅读 · 0 评论 -
二分排序
二分排序: 1、先将数据进行二分组,将组分到不能再分为止; 2、将组分到不能再分为止的,两块合并成一块,并且排序; #include<stdio.h> #include<string.h> #include<stdlib.h> void binary_merge_sort(int *vector,int l...原创 2017-11-03 10:08:04 · 852 阅读 · 0 评论 -
堆排序
堆排序之大根堆: 1、先创建一个大根堆,位于节点数据大于或者等于左右孩子节点数据; 2、将位于根节点的数据和数组末尾索引的数据进行交换,然后维持大根堆的特性(如果需要交换数据); 3、将末尾索引减一,然后重复第2步骤; #include<stdio.h> #include<string.h> #include<stdlib.h>...原创 2013-04-14 18:41:22 · 1024 阅读 · 0 评论 -
剑指offer算法题
typedef struct listNode { int val; struct listNode* next; struct listNode* randomNext; }listNode; #pragma mark 测试克隆 void test(listNode* head) { std::stack<listNode*> stack; ...原创 2019-08-08 11:05:39 · 191 阅读 · 0 评论 -
AVL树
#pragma mark AVL tree(平衡二叉树) #define avl_node_len(p) (p == NULL ? 0 : (p) -> height) typedef struct _avl_node{ int key; struct _avl_node* left; struct _avl_node* right; int ...原创 2019-09-05 15:58:38 · 125 阅读 · 0 评论 -
不一样的直接插入法排序笔记
#include #define MAX_SIZE 10 typedef int ElemType; using namespace std; typedef struct { ElemType key; int data; }RecType; int main(int argc, const char * argv[]) { Re原创 2013-12-03 18:43:52 · 710 阅读 · 0 评论 -
设计包含min函数的栈
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。原创 2017-02-16 17:20:31 · 309 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表
.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10/ \614/ \ / \48 12 16转换成双向链表4=6=8=10=12=14=16。 void insertOrderToQueue(TN* head,std::queue<TN*>&...原创 2017-02-16 14:56:03 · 313 阅读 · 0 评论 -
二叉树创建错误笔记
简单笔记哈,错误以免再次犯错误: typedef struct BITree{ char data; struct BITree *left; struct BITree *right; }BITree ,*BITreePtr; //遍历二叉树,递归时容易出现的错误 /*当第一次将左指针参数传入时,形参指针tree指向了tree->left 后tree=(B原创 2013-12-01 11:38:06 · 733 阅读 · 0 评论 -
有趣的汉诺塔
递归有趣,汉诺塔也有趣原创 2013-12-01 11:46:30 · 680 阅读 · 0 评论 -
双链表简单操作笔记
写了那么久,删除有点可惜 #include using namespace std; typedef struct DoubleLink { int data; struct DoubleLink *pre,*next; }DoubleLink; //创建一个双向链表的时候不能插入重复的元素;length为创建元素个数 DoubleLink *createDoubleL原创 2013-12-16 15:10:08 · 654 阅读 · 0 评论 -
(广度、深度)遍历二叉树
闲着无聊,偶然看到广度遍历二叉树(采用队列的结构),而深度遍历二叉树采用(栈的结构); 根据广度遍历二叉树的原理,自己仔细想了哈!没有参考资料(采用栈的存储方式)对二叉树进行深度遍历 #include using namespace std; typedef int ElemType; //二叉树的节点 typedef struct BiTNode { ElemTyp原创 2013-12-16 15:03:23 · 739 阅读 · 0 评论 -
Shell排序还可以这样写
明白了原理之后自己写了个希尔排序,这个Shell排序的时间复杂度貌似有点大; 感觉有点复杂,还好能够运行 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int a[]={10,9,8,7,6,5,4,3,2,1,13,11,78}; int length=sizeof(a)/sizeof(int); i...原创 2013-12-21 19:14:21 · 658 阅读 · 0 评论 -
快速排序
快速排序: 1、选择一个基点(通常选取某一块中第一个元素),一趟排序下来,左边的所有数据小于基点,右边的所有数据大于基点; 2、使用递归排序; void quick_sort(int *vector,int low,int high) { if (low >= high) { return; } int ind...原创 2017-02-05 15:26:22 · 305 阅读 · 0 评论 -
基本入门的顺序表插入,删除,获取
面试的打击蛮大的,最基本的数据结构和算法都不会,哎!下定决心好好学习一哈这门课程原创 2013-11-27 14:24:32 · 691 阅读 · 0 评论