Data Structure & Algorithm
JasonLeaster
Doing is better than saying.
展开
-
Union Find
Union Find动态链接: 这里union(x,y) 相当于一个函数,这个函数建立两个点,x,y的链接。而connected(x,y)用于检测两点的链接性,即是否处于链接状态.connected(0,7)就是用于检测0,7这两点是否相连。Union find能做很酷帅的事情,迷宫连通图的查找~原创 2014-09-07 11:28:35 · 1580 阅读 · 0 评论 -
Queue's implementation
A implementation of queue by linked list原创 2014-03-08 00:26:38 · 2135 阅读 · 0 评论 -
Collection of algorithm for sorting. 常见排序算法集(二)
Collection of algorithm for sortingheap sort 堆排序 The heapsort algorithm can be divided into two parts. In the first step, a heap is built out of the data. The h原创 2014-09-19 18:12:20 · 1522 阅读 · 0 评论 -
Dynamic Programming 动态规划
Dynamic Programming问题一:Fibonacci 数列求解问题。一般的会采用递归实现。/****************************************************code file : Fibonacci.ccode date : 2014.11.25e-mail : jasonleaster@gmail.comcode原创 2015-02-04 12:53:53 · 1774 阅读 · 0 评论 -
如何用两个栈实现一个队列
How to use two stacks to implement a queue ?今天看到的有意思的问题题,哇咔咔,简直益智类哇~"""Code writer : EOFCode date : 2015.02.08Code file : Queue_by_two_stack.pye-mail : jasonleaster@163.comCode descriptio原创 2015-02-09 00:27:14 · 1324 阅读 · 0 评论 -
AVL- tree
A implementation of AVL tree原创 2014-03-05 09:52:50 · 2003 阅读 · 0 评论 -
Binary search
Binary SearchJon Bentley曾经说过类似的话:“90%的程序员无法正确实现二分查找算法就冲着这句话去写binary searchbinary_search 的算法实现部分/*********************************************************code writer原创 2014-09-18 10:53:18 · 1390 阅读 · 0 评论 -
Pascal triangle 帕斯卡三角形 杨辉三角形 二项式定理
Pascal triangle等段时间再扯pascal triangle~先把一年多以前打印杨辉三角形的方法贴出来(简直不认直视,越来越不敢看以前自己写的东东了)C语言实现:/*************************************************************** Code writer原创 2015-01-24 16:28:23 · 2759 阅读 · 0 评论 -
String Matching -- Brute Force + Rabin-Karp + KMP
String Matching这个问题已经被做烂了...下面是C语言实现集合.http://www-igm.univ-mlv.fr/~lecroq/string/留个爪~暴力解法: 暴力美啊~"""Programmer : EOFDate : 2015.0原创 2015-02-28 19:32:23 · 1529 阅读 · 0 评论 -
hash table implementation 哈希列表的代码实现
A implementation of hash table原创 2014-03-07 23:07:11 · 1992 阅读 · 0 评论 -
回旋数组问题
刚开始学C的时候, 菜到不行... 还记得那时候有个叫范二安叔的人问过我一个回旋数组的问题. 当时就是没写出来. 后来到了大一晚上在图书馆死磕了写完了才回去.还记得那会儿我高中刚毕业, 范二安叔初中毕业就没读书了去工作了. 即使现在回想起来, 还是觉得他很牛. 之后就很久没有联系说话了.... 最近有朋友在学C, 于是就把这个问题抛给他了. 也是一个Green hand的分原创 2015-03-27 16:59:18 · 1845 阅读 · 0 评论 -
Binary Search Tree/ Binary Sorted Tree —— BST
2014.02.27更新Binary treeIn computer science, a binary tree is a tree data structure in which each node has at most two children (referred to as the left child and the right child). In a binary tree, th原创 2014-02-19 17:23:36 · 2098 阅读 · 0 评论 -
欧几里德算法计算最大公因数
欧几里德算法计算最大公因数算法通过连续计算余数知道余数是0为止没最后的非零余数就是最大公因数./***************************************************code writer : EOFcode file : gcd.ccode date : 2014.09.18e-mail : jasonleaste原创 2014-09-18 13:12:52 · 2532 阅读 · 0 评论 -
LeetCode #Reverse words in a string#
刚看到这个题目,手痒了.还挺有意思的...#include <stdio.h>int main(){ char str[] = "Please reverse this string!"; printf("%s\n", str); str_rev(str); printf("%s\n", str); return 0;}int str_rev(char *stri原创 2015-02-12 21:17:59 · 1240 阅读 · 0 评论 -
How to print a tree-ADT ? 打印树形结构的算法
How to print a tree-ADT写和树相关的代码的时候老是不方便debug,因为树形结构虽然能够代码构造出来但是如果能够有个很好的方法可视化就更好了。前些天看到一个MIT的代码片段,感激~....一开始你可能会想到一种比较简单的迭代实现,就像之前我做的void putout(int S, int *n) 实现在这里原创 2015-01-26 12:43:24 · 2598 阅读 · 0 评论 -
Collection of algorithm for sorting. 常见排序算法集(一)
Collection of algorithm for sorting原创 2014-09-14 16:34:30 · 1513 阅读 · 0 评论 -
线性时间排序 Sorting in linear time O(n)
Sorting In Linear Time 之前尝试过很多的排序算法, 都是基于比较的排序算法(base on comparing)Collection of algorithm for sorting (part one)http://blog.csdn.net/cinmyheart/article/details/39268783Collection原创 2015-01-11 17:11:43 · 2267 阅读 · 0 评论 -
Red-Black Tree 红黑树
Red-Black Tree原创 2015-02-03 15:44:51 · 1891 阅读 · 0 评论 -
Stack ---- Implementation in C and Python
A classical implementation of stack by linked list原创 2014-03-03 23:06:32 · 1738 阅读 · 0 评论 -
Collection of algorithm for sorting. 常见排序算法集(三) —— Quick Sort
Quick Sort原创 2014-09-20 13:21:51 · 2526 阅读 · 0 评论 -
josephus problem——约瑟夫问题
独立解josephus problem原创 2014-02-14 17:56:23 · 2494 阅读 · 0 评论 -
关于涉及链表和数组中信息交换的一些思考
今天遇到点问题,对于一个具体的问题,在写代码之前,选择何种数据结构去具体的实现这问题,这是很重要的,而选择之后,针对不同的数据结构的特点,我个人有点看法。那么如果针对具体问题,是要删减某些元素的时候,我们用链表,这很高效,而且几乎是首选的数据结构,但是如果问题当中还涉及链表节点里其他信息的相互交换,好比节点1是储存的张三的个人信息,节点2是储存的李四的个人信息,如果按照某些特定规则原创 2013-10-13 01:56:56 · 1246 阅读 · 0 评论 -
Eight queens puzzle——八皇后问题
八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当 n = 1 或 n≥ 4 时问题有解八皇后问题最早是由国际西洋棋棋手马克斯·贝瑟尔于1原创 2014-01-29 18:53:18 · 2147 阅读 · 0 评论 -
八皇后
转载:http://blog.csdn.net/hackbuteer1/article/details/6657109 N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行、同一列、同一斜线上的皇后都会自动攻击)。一、 求解N皇后问题是算法中回溯法应用的一个经典案例 回溯算法也叫试探法,它是一种系统地搜索问转载 2014-01-29 19:01:23 · 1335 阅读 · 0 评论 -
找出数据集合中的最小值和最大值的两种算法比较
最小值和最大值 —— 算导笔记实现太过于简单以至于算导里面都不讲代码实现,只是简单介绍了理论.通常寻找最大值最小值的方法方法一:原创 2014-09-21 23:53:53 · 3131 阅读 · 2 评论 -
Toplogical Sort 拓扑排序
Toplogical Sort 拓扑排序是对有向图的顶点的一种排序,它使得如果存在一条从Vm到Vn的路径,那么在排序中Vn出现在Vm后面。 如果图含有圈,或者初始入度没有为0的节点,那么拓扑排序是不可能完成的。理论介绍去看或者《算法导论》,老话,这里还是介绍如何实现。tls.h/***********************原创 2014-11-25 13:11:55 · 1614 阅读 · 0 评论 -
简易功能计算器0.1版本(基于双栈)
Lisa 这个傲娇的计算器叫Lisa。/*********************************************************Code writer : EOFCode file : stack.hCode date : 2014.11.26Email : jasonleaster@gmail.com原创 2014-11-26 17:51:37 · 1830 阅读 · 0 评论 -
数据结构——图的数组实现(邻接矩阵表示法)
Graph原创 2014-11-22 12:02:49 · 4679 阅读 · 0 评论 -
数据结构——图的链表实现(邻接表表示法)
图的链表实现之前实现了图的数组实现http://blog.csdn.net/cinmyheart/article/details/41370465下图仅作示意性说明,和测试数据有点区别,测试数据还是用的原来数组实现时的测试数据,这并不影响图的数据结构的表示(其实我就是懒得再做一遍原始数据了。。。哈哈)现对图进行抽象,对于整个图,我用了结构体s原创 2014-11-22 15:46:27 · 10291 阅读 · 1 评论 -
BFS—— Breadth First Search 广度优先算法
Breadth First Search BFS家伙还是很有用的,特地从wiki扒了一个动态的图,来帮助感性的理解这个动态搜索的过程。对于如下一个无权值的有向图,在进行广度优先搜索呢?这里我们的代码实现是,以节点3为入口对于BFS的理论基础介绍,个人觉得还是看《DSAA》比较好.这里不做介绍原创 2014-11-23 16:33:41 · 1988 阅读 · 0 评论 -
DFS --- Depth First Search 深度优先搜索算法
Depth First Search原创 2014-11-24 20:40:15 · 1686 阅读 · 0 评论 -
Haffman Code
Haffman Code什么是Haffman编码?以后再说,嘿嘿先上实现。Python 实现:在这个实现当中,我们并没有统计文本的字符出现频率,仅仅是为Haffman Coding的一个demo."""Code writer : EOFCode file : haffman.pyCode date : 2015.01.28e-mail原创 2015-01-28 14:11:12 · 1410 阅读 · 0 评论 -
Heap & Priority Queue
Priority QueueDefinition & Description: In computer science/data structures, a priority queue is an abstract data type which is like a regular queue or stack data str原创 2014-09-19 02:48:30 · 2239 阅读 · 0 评论 -
为什么Hash函数 H(k) = k % m中 m 尽量不要为2的幂次 也不是要是2^i -1
为什么Hash函数 H(k) = k % m中 m 尽量不要为2的幂次下面的截屏来自CLRS的11章 关于哈希函数的讨论之前我就一直困惑,为什么 When using the division method, we usually avoid certain values of m. For example, m should原创 2015-01-16 12:11:50 · 2256 阅读 · 1 评论 -
Linked List {singly linked list -> doubly linked list -> circular linked list}
Linked List原创 2015-01-15 16:11:41 · 1565 阅读 · 0 评论 -
Selection in expected linear time O(n)
Selection in expected linear time The general selection problem appears more difficult than the simple problem of finding a minimum. Yet, surprisingly, the asymptotic running tim原创 2015-01-15 13:35:00 · 1394 阅读 · 0 评论 -
资源向导之 "Data structure and Algorithm"
几本神书:MIT Introduction to algorithmhttp://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htmMIT Design and Anal原创 2015-02-28 14:47:50 · 2293 阅读 · 0 评论