随笔分类 - 经典题目算法
摘要:排序分为内排和外排: 三种基本的内排算法: 1.插入排序: 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,而插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。插入算法把要
阅读全文
摘要:KMP算法之前需要说一点串的问题: 串: 字符串:ASCII码为基本数据形成的一堆线性结构。 串是一个线性结构;它的存储形式: typedef struct STRING { CHARACTER *head; int length; }; 朴素的串匹配算法: 设文本串text = "ababcabc
阅读全文
摘要:哥德巴赫猜想:一个不小于6的偶数,总能分解成两个质数之和。 #include(stdio.h) #include(math.h) boolean isPrime(int num); boolean isGoldbachConjecture(int arrange); boolean Goldbach
阅读全文
摘要:问题描述: 假设有数组里面存放26个字母,取出n个,以m个排列,计算排列的总数! 注意: (1) m<n (2) 里面的元素不能重复排列 (3)"遇零则止" 核心代码如下:
阅读全文
摘要:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。则思路是: (1)从第一行开始,从第一行第一列开始摆放,判断“后”是否安全。 (2)若安全则进入下一行,否
阅读全文
摘要:约瑟夫环问题: 在一间房间总共有n个人(下标0~n-1),只能有最后一个人活命。 按照如下规则去杀人: 所有人围成一圈 顺时针报数,每次报到q的人将被杀掉 被杀掉的人将从房间内被移走 然后从被杀掉的下一个人重新报数,继续报q,再清除,直到剩余一人 要求模拟这个问题 所有人围成一圈 顺时针报数,每次报
阅读全文
摘要:折半查找的手工过程: 1.我需要查找的数是10; 给定:1 5 8 10 13 14 17 22 25 27 29 31 35 37 40 42 45 47 50 51 58 下标:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 h m t
阅读全文
摘要:#include <stdio.h> #include <time.h> #include <stdlib.h> #include<malloc.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 /*************
阅读全文
摘要:#include<stdio.h> #include<stdlib.h> //typedef int Status; #define Max 20 #define OK 1 #define ERROR 0 #define OVERLOE -2 typedef struct//堆分配表示串 { cha
阅读全文