数据结构与算法
yunshouhu
爱Java,更爱Android,学VC,搞c/c++的我。专注移动安全,游戏安全,逆向安全!十年戎马成神路,君临天下风雷动! https://github.com/yunshouhu
展开
-
二叉树之前序/中序/后序和层次遍历
#include <iostream>#include <cstring>#include <queue>using namespace std;typedef struct TreeNode{ char data; TreeNode* left; TreeNode* right;} TreeNode;#define STR_SIZE 1024//创建二叉树int createBTNode(TreeNode** BT, ..转载 2021-08-24 10:20:41 · 262 阅读 · 0 评论 -
java实现螺旋矩阵
import java.util.Scanner;/*** @文件名称 :CycleMatrix.java* @功能描述 :*java实现螺旋矩阵* @创建者 :云守护 542335496@qq.com */public class SpiralMatrix { static int length; static int[][] snake; sta原创 2012-11-16 00:27:38 · 3508 阅读 · 0 评论 -
数据结构c语言实现之静态单链表
//c语言实现静态单链表,参考严蔚敏书本代码和《数据结构算法实现及解析》#include // malloc()等#include // INT_MAX等#include // EOF(=^Z或F6),NULL#include // atoi()#include // eof()#include // floor(),ceil(),abs()#include #define TR原创 2013-12-08 14:06:28 · 1186 阅读 · 0 评论 -
数据结构c语言实现之字符串
// bo4-1.cpp 串采用定长顺序存储结构(由c4-1.h定义)的基本操作(13个),包括算法4.2,4.3,4.5#include #include #include // SString是数组,故不需引用类型#define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0 #define INFEASIBLE原创 2013-12-08 14:36:35 · 6927 阅读 · 0 评论 -
数据结构c语言实现之单链表的应用
//c语言实现,单链表实现学生健康登记表,参考严蔚敏书本代码和《数据结构算法实现及解析》#include#include#include // malloc()等#include // INT_MAX等#include // EOF(=^Z或F6),NULL#include // atoi()#include // eof()#include // floor(),ceil(),a原创 2013-12-08 13:59:52 · 1527 阅读 · 0 评论 -
Java优化冒泡排序
/** * * @author qq:542335496@qq.com * 优化冒泡排序 * */public class BubbleSort { public static int[] sort(int[] data) { int temp; boolean flag = false; for (int i = 0; i < data.le原创 2012-11-01 01:15:58 · 4311 阅读 · 3 评论 -
常用分词算法笔记
常用统计语言模型,包括了N元文法统计模型(N-gram Model)、隐马尔科夫模型(Hidden Markov Model,简称HMM)、最大熵模型(Maximum Entropy Model)。N-Gram这是一种依赖于上下文环境的词的概率分布的统计计算语言模型。假定,在一个语句中第i个词出现的概率,条件依赖于它前面的N-1个词,即将一个词的上下文定义为该词前面出现的N-1个词,这原创 2015-01-23 10:55:32 · 16188 阅读 · 0 评论 -
java使用堆结构实现优先队列
package com.structures.tree;import java.util.NoSuchElementException;/* * 小顶堆 java使用堆结构实现优先队列 * http://www.oschina.net/code/snippet_855019_15069 */public class JPriorityQueue { class QueueNo转载 2015-05-30 17:07:52 · 1255 阅读 · 0 评论 -
我的单链表
#include #include #define TRUE 1 #define FALSE 0 typedef struct LNode{ int data; LNode *next;} *LinkList;void CreateList(LinkList &L,int n) { // 正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表L int原创 2015-10-30 18:14:29 · 505 阅读 · 0 评论 -
数据结构严蔚敏版快速排序算法c语言实现
//严蔚敏数据结构快速排序算法c语言实现#includetypedef int InfoType; /* 定义其它数据项的类型 *//* c10-1.h 待排记录的数据类型 */#define MAXSIZE 20 /* 一个用作示例的小顺序表的最大长度 */typedef int KeyType; /* 定义关键字类型为整型 */typedef struct{ KeyType原创 2015-12-28 11:07:39 · 9612 阅读 · 2 评论 -
动态规划算法求lcs(最长公共子串)之Java代码实现
LCS(Longest Common Subsequence) 就是求两个字符串最长公共子串的问题。比如: String str1 = new String("adbccadebbca"); String str2 = new String("edabccadece");str1与str2的公共子串就是bccade. 解法就是用一个矩阵来记录两个字符串中所有位置的两个转载 2015-12-29 11:17:09 · 5861 阅读 · 0 评论 -
数据结构时间复杂度
https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/Readme.mdhttp://www.bigocheatsheet.com/原创 2016-01-06 10:04:49 · 592 阅读 · 0 评论 -
Java快速排序原理理解
package demo.Sort;import java.util.Arrays;import java.util.Random;public class QuickSort { private static int count=0; private int division(int[] list, int left, int right) { //原创 2015-12-24 23:07:53 · 796 阅读 · 0 评论 -
java实现10进制转换为英文字符表示的26进制,得到唯一自增的英文字符串序列。
public class Demo { //java实现10进制转换为英文字符表示的26进制,得到唯一自增的英文字符串序列。 public static void main(String[] args) { for(int i=0;i<1500;i++) { //String str=to52Jinzhi(...原创 2016-12-03 00:59:42 · 5404 阅读 · 2 评论 -
C++之简单哈希表查找法的实现和循环查找法的比较
散列表 (Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。 也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。 这个映射函数称做散列函数,存放记录的数组称做散列表哈希表、二叉树、链表是最常见的数据结构,涵盖了程序员面试和笔试中几乎所有的数据结构相关问题。 本文中用C++来实现原创 2017-05-16 16:33:05 · 4857 阅读 · 0 评论 -
java 快速排序
public class QuickSort { /** * 快速排序 * * @param strDate * @param left * @param right */ public void quickSort(String[] strDate, int left, int right) { String middle, tempDate; int i,原创 2012-11-28 23:33:09 · 779 阅读 · 0 评论 -
Java实现快速排序
/** * @项目名称 :test * @文件名称 :QuickSort.java * @所在包 : * @功能描述 : * 快速排序Java实现 * @创建者 :云守护 542335496@qq.com * @创建日期 :Nov 14, 2012 * @修改记录 : */public class QuickSort { /** 主方法 */ pub原创 2012-11-14 12:55:22 · 729 阅读 · 0 评论 -
数据结构学习之回溯法求解迷宫问题
#include #include using namespace std;// 把迷宫表示为n个有编码路口的集合// 定义路口类class Crossing{public: // 0为不通 路口的三个方向 int turn1; int turn2; int turn3;public: Crossing(int turn1, int tu原创 2012-11-01 00:12:05 · 1294 阅读 · 0 评论 -
数据结构学习之回溯法求解八皇后问题
#include #include using namespace std;// 首先 要求皇后不冲突,那么每行只应该有一个皇后// 用queens[]数组在存储每个皇后的位置// 例如: queens[m] = n 表示 第m行的皇后放在第n列上#define MAX 8int sum = 0;class QueenPuzzle{ int qu原创 2012-11-01 00:22:49 · 1088 阅读 · 0 评论 -
数据结构学习之启发式搜索求解骑士周游问题
#include #include "conio.h"using namespace std;class Board{private: int board[8][8]; //棋盘 int step; //当前走的步数 int No; //当前解的编号 int direct[8][2]; //各前进方向的坐标偏移 in原创 2012-11-01 00:26:43 · 1001 阅读 · 0 评论 -
数据结构学习之哈弗曼树的实现
#include using namespace std;#if !defined(_HUFFMANTREE_H_)#define _HUFFMANTREE_H_/* * 霍夫曼树结构 */class HuffmanTree{public: unsigned int Weight; unsigned int Parent; un原创 2012-11-01 00:32:04 · 978 阅读 · 0 评论 -
数据结构学习之链栈c++实现
//链栈,c++实现 2012-10-3 18:12:21#include using namespace std;template class LinkStack;template class Node{ friend class LinkStack ; Telem data; Node *next;public: Node(Telem原创 2012-10-26 15:07:04 · 863 阅读 · 0 评论 -
数据结构学习之多种常用c++排序算法
#include #define NUM 7 //无序表元素个数#define MAX 1000 //元素最大值using namespace std;int list[NUM*10]={0}; //存储无序表及排序结果int merge_list[NUM*10]={0}; //归并排序时用于存无序表int merge_link[原创 2012-10-26 13:35:43 · 1033 阅读 · 0 评论 -
数据结构学习之循环队列c++实现
//循环队列,c++实现#include using namespace std;template class SqQueue //:public Queue{ Telem *elem; int front,rear; int len;public: SqQueue(int maxsz=100):len(maxsz) {原创 2012-10-26 15:11:53 · 797 阅读 · 0 评论 -
数据结构学习之链队列c++实现杨辉三角
#ifndef LINKQUEUE_H#define LINKQUEUE_H#include #include using namespace std;template class LinkQueueNode{public: T data; LinkQueueNode* link; LinkQueueNode(T& value):data(value),lin原创 2012-10-26 15:27:37 · 3181 阅读 · 0 评论 -
数据结构学习之数组栈实现
#ifndef ARRAYSTACK_H#define ARRAYSTACK_H#include #include using namespace std;template class ArrayStack{ int size; int top; T* contain; public: ArrayStack():size(0),top(-1),c原创 2012-10-26 14:51:32 · 697 阅读 · 0 评论 -
数据结构学习之二分查找法递归实现
#include "stdio.h"#include #include using namespace std;int binarySearch(const vector & a, const int & x, int low, int high){ if(low>high) return -1; int mid = (low + high)/2;原创 2012-10-26 16:00:38 · 1012 阅读 · 0 评论 -
数据结构学习之弗洛伊德floyd算法求最短路径
#include "stdio.h"#include "stdlib.h"#define MAX 20#define INFINITY 9999typedef bool PathMatrix[MAX+1][MAX+1][MAX+1];typedef int DistanceMatrix[MAX+1][MAX+1];typedef struct { int原创 2012-10-26 12:45:02 · 4551 阅读 · 0 评论 -
数据结构学习之链队列c++实现
//链队列,c++实现#include using namespace std;template class Queue{public: virtual void init()=0; //初始化 virtual int leng()=0; //求长度 virtual bool full()=0; //判队原创 2012-10-26 15:13:48 · 844 阅读 · 0 评论 -
数据结构学习之冒泡排序Java实现
/** *冒泡排序 * @author 2012年10月26日 * */public class MaoPaoSort { public static void main(String[] args) { int[] datas={5,4,6,3,89,54,21,64,7,164,2}; show(datas); datas=sort(datas)原创 2012-10-26 17:20:18 · 864 阅读 · 0 评论 -
数据结构学习之循环队列的另一种c++实现
//循环队列的另一种实现#include #include using namespace std;template class SqQueue //:public Queue{ Telem *elem; int front,rear,count; const int len; public: SqQueue(int maxsz=12):原创 2012-10-26 15:15:35 · 844 阅读 · 0 评论 -
数据结构学习之递归求解汉诺塔问题
#include #include using namespace std;//盘子的数目#define numOfDisks 3//在文本文件out.txt中输出结果ofstream fout("out.txt");void Move(int n,char x,char y){ fout<<"move "<<n<<" from "<<x<<" to原创 2012-11-01 00:05:10 · 1497 阅读 · 0 评论