数据结构与算法
Turbyun
只要你不打算一口吃成一个胖子,所有的东西都是纸老虎
展开
-
算法 -- 100以内的素数
#include <stdio.h>#include <stdlib.h>#define N 100int main(int argc, const char *argv[]){ int i,j; int num[N]; for (i = 2; i < N; i++) num[i] = 1; for...原创 2018-07-23 15:03:35 · 302 阅读 · 0 评论 -
算法 -- 约瑟夫问题
假设有N个人,决定选出一个领导人,方法如下:所有人排成一个圆圈, 按顺序数数,每隔第M个人出局,此时,他两边的人靠拢,重新排成一个圆圈,找出哪个人将会是最后一个留下的。 (比如N = 9 , M = 5 . 出局顺序为 5 1 7 4 3 6 9 2 剩下 8) 链表节点结构体typedef struct node_S{ int va...原创 2018-07-24 09:46:40 · 503 阅读 · 0 评论 -
算法 -- 链表插入排序
问题: 这个代码产生0 ~ 999之间的N个随机数,构建每个节点代表一个数的链表,然后重新排列这些节点,使之按照顺序出现。 分析:1、b链表为空时, x = b; x->next = NULL; t->next = NULL; x->next = t; 2、待插入的数比已连接上的数小 ...原创 2018-07-24 16:15:12 · 315 阅读 · 0 评论 -
字典树 Trie_node
一、知识简介 最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和...原创 2018-08-08 10:39:34 · 1749 阅读 · 1 评论 -
二叉树的高度和深度 --代码实现
一:若只有一个根节点,看概念定义为 0层还是1层以下代码均定义为1层 即只有一个根节点时候,树的高度为1递归实现:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NUL...原创 2019-04-03 21:53:18 · 4686 阅读 · 0 评论