- 博客(36)
- 收藏
- 关注
转载 时间复杂度
基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳
2015-01-16 05:25:53 567
原创 循环素数
题目内容:数字197可以被称为循环素数,因为197的三个数位循环移位后的数字:197,971,719均为素数。100以内这样的数字包括13个,2,3,5,7,11,13,17,31,37,71,73,79,97。要求任意正整数n以内一共有多少个这样的循环素数。输入格式:一个正整数n。输出格式:n以内循环素数的数目。输入样例:100
2014-12-18 03:59:10 2243
原创 binary search -- finding roots
对于一元二次方程,若有 ,则其解是什么?若有多个解,则按照从小到大的顺序在一行中输出,中间使用空格分隔。解保留2位小数(四舍五入)import matha = 10b = 40c = 15def fun(x): return a*x*x + b*x + cdef findspan(): i = -10 temp = 0 while i
2014-12-17 05:49:10 1065
原创 binary search, with and without resursion
1. without recursion:arr = [1,2,3,4,5,6,7,8,9,10,11]def fun(arr, k): left = 0 right = len(arr) - 1 while left <= right: mid = (left + right) / 2 if k < arr[mid
2014-12-17 04:29:48 368
原创 jeseph问题,python实现, 循环链表
# -*- coding: utf-8 -*class Node(): def __init__(self, data = None, next = None): self.data = data self.next = next def __str__(self): return str(self.data)def josep
2014-12-08 13:22:14 713
原创 matlab 求 fibbonacci 数列的三种方法
1.递归。在n比较大(〉30)的情况下,计算会很慢。因为它有大量的兀余计算,不赘述。function x = fibbo3(n)if n < 3 x = 1;else x = fibbo3(n-1) + fibbo3(n-2);end; 2.辗转相加法。function [ x ] = fibbo( n )if n < 1 error(
2014-12-06 04:43:20 6428
原创 jacobi, gauss-seidel, and SOR
JACOBI% it there any bug?? who knows...function [ x ] = jacobi()%A = [8,-3,2;4,11,-1;6,3,12];%b = [20,33,36];A = [0.8 -0.4 0; -0.4 0.8 -0.4; 0 -0.4 0.8];b = [41; 25; 105];error_tolerance =
2014-12-04 23:56:47 683
转载 python join 和 split
python join 和 split方法的使用,join用来连接字符串,split恰好相反,拆分字符串的。1.join用法示例 >>>li = ['my','name','is','bob'] >>>' '.join(li) 'my name is bob' >>>'_'.join(li) 'my_name_is_bob' >>> s = ['my','name','is','bob']
2014-11-23 13:20:37 339
原创 python 实现Graph class
Today, wrote a class Graph in python, for the purpose of implementing the following dfs and bfs:
2014-11-23 13:09:14 1158
原创 quick sort-- Python
arr = [3, 11, 51425, 38, 2, 4, 6, 7,11,-5,20,78,100,-52,79,10,1052]def quicksort(arr,lo,hi): #print arr if lo >= hi: return q = arr[lo] i = lo + 1 for j in range(i, hi+1)
2014-11-21 12:27:57 867
转载 Python察看当前工作目录
import osos.getcwd() # 查看当前工作目录os.chdir("D:\\Python\\some_other_directory") # 改变目录,注意双引号和反斜杠顺便推荐一下Dreampie这个Python编辑器,非常好用
2014-11-21 09:54:09 429
原创 Python实现merge sort
def inputArray(): arr = [] n = int(raw_input('Enter how many elements you want: ')) for i in range(0, n): x = raw_input('Enter the numbers into the array: ') arr.append(int
2014-10-24 13:49:58 1222
原创 玩玩双链表(未完待续)
#include #include using namespace std;class DoublyLinkList{ private: typedef struct _Node{ string name; _Node *pre; _Node *next; _Node():name("None"), pre(NULL),next(NULL){};//_No
2014-10-20 13:04:34 322
转载 struct与class的区别
从C到C++,结构体(struct)涅槃重生,那么,C语言的结构体和C++结构体有什么不同呢,下面是一个测试程序,程序中大量的注释就算作本文的讲解吧! ?123456789101112131415161718
2014-10-20 00:31:26 376
原创 单链表的c++实现
#ifndef NODE_H_#define NODE_H_#include #include using namespace std;class Node{ friend ostream& operator<< (ostream&, const Node& ); friend class LinkList; public: Node(const string name
2014-10-14 13:01:03 324
原创 循环链表-约瑟夫问题-猴子选大王
总时间限制(Time limit):1000ms内存限制(Memory limit):65536kB描述(Description)有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。There are
2014-10-13 11:48:26 1066
原创 overloading stream insertion and stream extraction operators
#ifndef PHONENUMBER_H#define PHONENUMBER_H#include using std::ostream;using std::istream;#include using std::string;class PhoneNumber{ public: friend ostream& operator<< (ostream&, const
2014-10-07 22:36:05 556
转载 ignore 用法
basic_istream& ignore(streamsize _Count = 1, int_type _Delim = traits_type::eof());function: Causes a number of elements to be skipped from the current read position.Parameters:_Count, The numbe
2014-10-07 21:58:47 3184
原创 冒泡排序,选择排序
#include #include void initArray(int*);void bubbleSort (int*, int);void showArray(int*, int);void swap(int*, int*);void selectionSort(int*, int);int main(int argc,char* argv[]){ int *array =
2014-10-07 13:56:00 355
原创 ostringstream, istringstream and ostream
#include #include #include using namespace std;int main(){ ostringstream ostr; ostr.put('h');//插入单个字符 ostr.put('e'); ostr << "llo!!!";//插入字符串 string s1 = ostr.str(); cout << s1 <<endl;//h
2014-10-07 13:50:32 561
转载 关于[]静态数组和new分配的动态数组的区别
(1)对静态数组名进行sizeof运算时,结果是整个数组占用空间的大小;因此可以用sizeof(数组名)/sizeof(*数组名)来获取数组的长度。int a[5];则sizeof(a)=20,sizeof(*a)=4.因为整个数组共占20字节,首个元素(int型)占4字节。int *a=newint[4];则sizeof(a)=sizeof(*a)=4,因为地址位数为4字节,in
2014-09-06 00:28:05 401
原创 单链表—练习
#include #include #include #include "linkedlist.h"using namespace std;//typedef struct node_{// int data;// struct node_ *next;//}Node;int main(int argc, char** argv) { int num; Node*
2014-09-04 13:10:25 378
原创 文件的输入输出 part1
/* * * * Created on: 2014年9月3日 */#include#include#includeint main(){ /*putc(c,stdout) 与putchar(c)的作用是一样的。 getc(stdin) 与getchar(c)的作用是一样的。 可以方便的将stdout或者stdin改为文件指针fp,实现了从文件的读取 和向文件的输出
2014-09-04 13:08:41 337
转载 浅谈二进制文件读写和文本文件读写的区别
浅谈二进制文件读写和文本文件读写的区别 昨天在看一篇文章的时候,突然想起了这个基础性的问题,自己一直对它的区别不是很清楚,于是今天上午研究下了,分享下自己的理解。(对它很清楚的同学们可以略过此篇文章) 从存储方式来说,文件在磁盘上的存储方式都是二进制形式,所以,文本文件其实也应该算二进制文件。那么他们的区别呢,各自的优缺点呢?不急,我慢慢道来。 先从他们的
2014-09-04 11:42:59 613
转载 二叉树链表表示
#include #include struct tree{ struct tree *left; struct tree *right; int data;};typedef struct tree treenode;typedef treenode* b_tree;b_tree insert_node(b_tree root, int node);
2014-09-01 13:16:55 474
转载 k-d树
k-d tree算法 k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。应用背景 SIFT算法中做特征点匹配的时候就会利用到k-d树。而特征点匹配实际上就是一个通过距离函数在高维矢量之间进行相似性检索的问题。针对如何快速而准确地找到查询点的近邻,现在提出了很多
2014-09-01 11:39:38 449
转载 优先队列的使用
队列的特点是先进先出。通常都把队列比喻成排队买东西,大家都很守秩序,先排队的人就先买东西。但是优先队列有所不同,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取出。通常把优先队列比喻成现实生活中的打印。一个打印店里有很多打印机,每台机器的性能不一样,有的打印机打印很快,有的打印机打印速度很慢。当这些打印机陆陆续续打印完自己的任务时进入排队等候状态。如果我这个时候要打印一份文件
2014-09-01 11:37:00 433
转载 结构体中指向函数的指针(C) && 结构体中的函数(C++)
结构体中指向函数的指针(C) && 结构体中的函数(C++) |举报|字号 订阅1.结构体中指向函数的指针(C)C语言中的struct是最接近类的概念,但是在C语言的struct中只有成员,不能有函数,但是可以有指向函数的指针,这也就方便了我们使用函数了。举个例子,如下:#include #include #include
2014-08-29 15:27:02 809
转载 malloc用法
cmalloc用法需要包含头文件:#include 'stdlib.h'函数声明(函数原型):void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。从函数声明上可以看出。malloc
2014-08-28 06:05:47 368
原创 4-0. 求符合给定条件的整数集(15)
4-0. 求符合给定条件的整数集(15)时间限制400 ms内存限制32000 kB代码长度限制8000 B判题程序Standard作者徐镜春(浙江大学)给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
2014-06-27 05:31:28 377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人