算法
shujiezhang
这个作者很懒,什么都没留下…
展开
-
SM2椭圆曲线公钥密码算法
1 类型SM2属于非对称加密方式,其实现方式有素域和二元扩域两种方式,我们只介绍素域的情况,二元扩域涉及到多项式运算,理解更困难。 2 原理有限域上的椭圆曲线在点加运算下构成一个有限交换群,且其多倍点运算构成一个单项函数。原创 2011-09-17 15:35:31 · 7986 阅读 · 1 评论 -
快速排序
#include int partition(int *arr, int start, int end){ int p = start - 1; int x = arr[end]; int temp = 0; int i = 0; for(i = start; i < end; i++) {原创 2014-06-03 07:35:35 · 577 阅读 · 0 评论 -
堆排序完整版,含注释
#include "stdafx.h"int arrNum[10] = {2,44,3,55,6,77,3,5,222,0xa};#define LEFT(i) (2 * (i))#define RIGHT(i) ((2*(i)) + 1 )#define PARENT(i) ((i)/2)/* * 建立符合堆性质的子堆 * * arr:堆 * start:要整理的堆的原创 2014-06-03 10:54:46 · 1160 阅读 · 0 评论 -
二叉树深度优先遍历和广度优先遍历
深度优先遍历:原创 2014-07-03 16:53:27 · 644 阅读 · 0 评论 -
二叉树非递归先序遍历、中序遍历、后序遍历
#include "stdafx.h"#include struct bitreeNode{ int value; bitreeNode * left; bitreeNode * right;};//先序int bitreePreOrder(bitreeNode * root){ stack st; bitreeNode * node = root; do原创 2014-07-03 15:18:15 · 580 阅读 · 0 评论 -
堆排序之MAX-HEAPIFY注释
/**/MAX-HEAPIFY(A, i) l <- LEFT(i) r <- RIGHT(i) if l A[i] then largest <- l else largest <- i if r A[largest] then largest <- r if largest != i then exchange A[i] A[largest] MAX-H原创 2014-03-24 21:38:56 · 2753 阅读 · 0 评论 -
鹰蛋问题解析之动态规划
鹰蛋问题的最优解,可以通过动态规划的办法来实现,假设有m楼层,n个鹰蛋,则在第i层试探时会出现两种状态,一种状态是鹰蛋摔破了,则我们下一步只有n-1个鹰蛋,同时总楼层数也缩减为i-1,另一种状态是鹰蛋没有摔破,那么鹰蛋总数不变,还是n个,楼层数则缩减为m-i层。原创 2014-06-05 21:54:08 · 7677 阅读 · 0 评论