DSAA
数据结构与算法分析
JasonLeaster
Doing is better than saying.
展开
-
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 · 1528 阅读 · 0 评论 -
Matrix Operations -- Transpose +Determinant + Adjugate+ Inverse + Gram-Schimidt +LUP + QR + Eigen
Matrix Operations原创 2015-02-28 03:54:03 · 4080 阅读 · 2 评论 -
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 · 1239 阅读 · 0 评论 -
Dynamic Programming 动态规划
Dynamic Programming问题一:Fibonacci 数列求解问题。一般的会采用递归实现。/****************************************************code file : Fibonacci.ccode date : 2014.11.25e-mail : jasonleaster@gmail.comcode原创 2015-02-04 12:53:53 · 1773 阅读 · 0 评论 -
Red-Black Tree 红黑树
Red-Black Tree原创 2015-02-03 15:44:51 · 1890 阅读 · 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 评论 -
NOW ! It's time to implement "FFT" !
FFT原创 2014-09-04 14:47:09 · 2305 阅读 · 3 评论 -
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 评论 -
为什么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 · 2252 阅读 · 1 评论 -
Linked List {singly linked list -> doubly linked list -> circular linked list}
Linked List原创 2015-01-15 16:11:41 · 1561 阅读 · 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 · 1392 阅读 · 0 评论 -
hash table implementation 哈希列表的代码实现
A implementation of hash table原创 2014-03-07 23:07:11 · 1989 阅读 · 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 · 2264 阅读 · 0 评论 -
Toplogical Sort 拓扑排序
Toplogical Sort 拓扑排序是对有向图的顶点的一种排序,它使得如果存在一条从Vm到Vn的路径,那么在排序中Vn出现在Vm后面。 如果图含有圈,或者初始入度没有为0的节点,那么拓扑排序是不可能完成的。理论介绍去看或者《算法导论》,老话,这里还是介绍如何实现。tls.h/***********************原创 2014-11-25 13:11:55 · 1612 阅读 · 0 评论 -
DFS --- Depth First Search 深度优先搜索算法
Depth First Search原创 2014-11-24 20:40:15 · 1682 阅读 · 0 评论 -
BFS—— Breadth First Search 广度优先算法
Breadth First Search BFS家伙还是很有用的,特地从wiki扒了一个动态的图,来帮助感性的理解这个动态搜索的过程。对于如下一个无权值的有向图,在进行广度优先搜索呢?这里我们的代码实现是,以节点3为入口对于BFS的理论基础介绍,个人觉得还是看《DSAA》比较好.这里不做介绍原创 2014-11-23 16:33:41 · 1988 阅读 · 0 评论 -
数据结构——图的链表实现(邻接表表示法)
图的链表实现之前实现了图的数组实现http://blog.csdn.net/cinmyheart/article/details/41370465下图仅作示意性说明,和测试数据有点区别,测试数据还是用的原来数组实现时的测试数据,这并不影响图的数据结构的表示(其实我就是懒得再做一遍原始数据了。。。哈哈)现对图进行抽象,对于整个图,我用了结构体s原创 2014-11-22 15:46:27 · 10289 阅读 · 1 评论 -
数据结构——图的数组实现(邻接矩阵表示法)
Graph原创 2014-11-22 12:02:49 · 4674 阅读 · 0 评论 -
找出数据集合中的最小值和最大值的两种算法比较
最小值和最大值 —— 算导笔记实现太过于简单以至于算导里面都不讲代码实现,只是简单介绍了理论.通常寻找最大值最小值的方法方法一:原创 2014-09-21 23:53:53 · 3124 阅读 · 2 评论 -
Collection of algorithm for sorting. 常见排序算法集(三) —— Quick Sort
Quick Sort原创 2014-09-20 13:21:51 · 2525 阅读 · 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 · 1521 阅读 · 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 · 2237 阅读 · 0 评论 -
欧几里德算法计算最大公因数
欧几里德算法计算最大公因数算法通过连续计算余数知道余数是0为止没最后的非零余数就是最大公因数./***************************************************code writer : EOFcode file : gcd.ccode date : 2014.09.18e-mail : jasonleaste原创 2014-09-18 13:12:52 · 2532 阅读 · 0 评论 -
Binary search
Binary SearchJon Bentley曾经说过类似的话:“90%的程序员无法正确实现二分查找算法就冲着这句话去写binary searchbinary_search 的算法实现部分/*********************************************************code writer原创 2014-09-18 10:53:18 · 1389 阅读 · 0 评论 -
Collection of algorithm for sorting. 常见排序算法集(一)
Collection of algorithm for sorting原创 2014-09-14 16:34:30 · 1512 阅读 · 0 评论 -
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 · 1578 阅读 · 0 评论 -
Queue's implementation
A implementation of queue by linked list原创 2014-03-08 00:26:38 · 2133 阅读 · 0 评论 -
AVL- tree
A implementation of AVL tree原创 2014-03-05 09:52:50 · 1996 阅读 · 0 评论 -
Stack ---- Implementation in C and Python
A classical implementation of stack by linked list原创 2014-03-03 23:06:32 · 1736 阅读 · 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 · 2096 阅读 · 0 评论