From bed6d32fa18a4eee89b87fb10b453c18d9527594 Mon Sep 17 00:00:00 2001 From: nonstriater <510495266@qq.com> Date: Tue, 6 May 2014 14:45:40 +0800 Subject: [PATCH] update --- 算法分析思路/分治算法.md | 0 算法分析思路/动态规划.md | 0 算法分析思路/回溯法.md | 0 算法分析思路/枚举迭代.md | 0 算法分析思路/贪心算法.md | 0 算法分析思路/递归.md | 0 算法问题选编/测试代码/1.c | 37 +++++++++ 算法问题选编/测试代码/2.c | 23 ++++++ 算法问题选编/测试代码/3.c | 71 ++++++++++++++++++ 算法问题选编/测试代码/4-1.c | 7 ++ 算法问题选编/测试代码/5.c | 25 ++++++ 算法问题选编/测试代码/6.c | 70 +++++++++++++++++ 算法问题选编/测试代码/7.c | 14 ++++ 算法问题选编/测试代码/a.out | Bin 0 -> 8456 bytes .../测试代码/a.out.dSYM/Contents/Info.plist | 20 +++++ .../a.out.dSYM/Contents/Resources/DWARF/a.out | Bin 0 -> 9547 bytes 16 files changed, 267 insertions(+) create mode 100644 算法分析思路/分治算法.md create mode 100644 算法分析思路/动态规划.md create mode 100644 算法分析思路/回溯法.md create mode 100644 算法分析思路/枚举迭代.md create mode 100644 算法分析思路/贪心算法.md create mode 100644 算法分析思路/递归.md create mode 100644 算法问题选编/测试代码/1.c create mode 100644 算法问题选编/测试代码/2.c create mode 100644 算法问题选编/测试代码/3.c create mode 100644 算法问题选编/测试代码/4-1.c create mode 100644 算法问题选编/测试代码/5.c create mode 100644 算法问题选编/测试代码/6.c create mode 100644 算法问题选编/测试代码/7.c create mode 100755 算法问题选编/测试代码/a.out create mode 100644 算法问题选编/测试代码/a.out.dSYM/Contents/Info.plist create mode 100644 算法问题选编/测试代码/a.out.dSYM/Contents/Resources/DWARF/a.out diff --git a/算法分析思路/分治算法.md b/算法分析思路/分治算法.md new file mode 100644 index 0000000..e69de29 diff --git a/算法分析思路/动态规划.md b/算法分析思路/动态规划.md new file mode 100644 index 0000000..e69de29 diff --git a/算法分析思路/回溯法.md b/算法分析思路/回溯法.md new file mode 100644 index 0000000..e69de29 diff --git a/算法分析思路/枚举迭代.md b/算法分析思路/枚举迭代.md new file mode 100644 index 0000000..e69de29 diff --git a/算法分析思路/贪心算法.md b/算法分析思路/贪心算法.md new file mode 100644 index 0000000..e69de29 diff --git a/算法分析思路/递归.md b/算法分析思路/递归.md new file mode 100644 index 0000000..e69de29 diff --git a/算法问题选编/测试代码/1.c b/算法问题选编/测试代码/1.c new file mode 100644 index 0000000..67829ea --- /dev/null +++ b/算法问题选编/测试代码/1.c @@ -0,0 +1,37 @@ + +#include "stdio.h" +#include "string.h" + +int string_to_integer(char *s,int length){ + + if (length>1) + { + return s[0]=='-'?string_to_integer(s,length-1)*10-(s[length-1]-'0'):string_to_integer(s,length-1)*10+s[length-1]-'0'; + }else{ + return s[0]=='-'?-1/10:s[0]-'0'; + + } +} + +/* 问题: +1. s是空字符串 +2. s传参为非数字字符 +3. 超出整数所能表示范围 +*/ + + +int main(){ + + char *s = "4323"; + + printf("integer == %d\n",string_to_integer(s,strlen(s)) ); + printf("integer == %d\n",string_to_integer("12342",5)); + printf("integer == %d\n",string_to_integer("-11",3) ); + printf("integer == %d\n",string_to_integer("-5",2) ); + printf("integer == %d\n", string_to_integer("3",1)); + + printf("integer == %d\n", string_to_integer("abcd",4)); + printf("integer == %d\n", string_to_integer("a",1)); + + return 0; +} diff --git a/算法问题选编/测试代码/2.c b/算法问题选编/测试代码/2.c new file mode 100644 index 0000000..b8f86c9 --- /dev/null +++ b/算法问题选编/测试代码/2.c @@ -0,0 +1,23 @@ + +#include "stdio.h" + + +int factorial(int n){ + + int ret=0; + (n==0) || (ret=n+factorial(n-1)); + return ret; +} + + +int main(){ + + int n=10; + printf("factorial(10)= %d\n",factorial(10)); + printf("factorial(5)= %d\n",factorial(5)); + printf("factorial(1)= %d\n",factorial(1)); + printf("factorial(0)= %d\n",factorial(0)); + + return 0; +} + diff --git a/算法问题选编/测试代码/3.c b/算法问题选编/测试代码/3.c new file mode 100644 index 0000000..669624e --- /dev/null +++ b/算法问题选编/测试代码/3.c @@ -0,0 +1,71 @@ + +#include "stdio.h" +#include "stdlib.h" + +char *integer_to_bin(long integer){ + + int bit_num = sizeof(long)*8; + char *buffer= (char *)malloc(bit_num+1); + if (buffer==NULL) + { + return "malloc error"; + } + buffer[bit_num]='\0'; + + for (int i = 0; i < bit_num; ++i) + { + buffer[i]= integer<>(bit_num-1); + buffer[i]= buffer[i]==0?'0':'1'; + + } + return buffer; + +} + +char *integer_to_hex(long integer){ + + int bit_num=sizeof(long)*8/4; + char *buffer=(char *)malloc(bit_num+3); + buffer[0]='0'; + buffer[1]='x'; + buffer[bit_num+2]='\0'; + char *tmp=&buffer[2]; + + for (int i = 0; i < bit_num; i++) + { + tmp[i]= integer<<(i*4)>>(bit_num*4-4); + tmp[i]= tmp[i]>=0?tmp[i]:tmp[i]+16; + tmp[i]= tmp[i]<10?(tmp[i]+48):(tmp[i]-10+'A'); + } + + return buffer; +} + + +/* + +A 65 +0 48 + +*/ + + + +int main(){ + + + printf("b(11) = %s\n", integer_to_bin(11)); + printf("b(1023) = %s\n",integer_to_bin(1023) ); + printf("b(23564) = %s\n",integer_to_bin(23564) ); + + + printf("h(11) = %s\n", integer_to_hex(11)); + printf("h(1023) = %s\n",integer_to_hex(1023) ); + printf("h(23564) = %s\n",integer_to_hex(23564) ); + printf("b(11) = %x\n", 11); + printf("b(1023) = %x\n",1023 ); + printf("b(23564) = %x\n",23564 ); + + + return 0; +} \ No newline at end of file diff --git a/算法问题选编/测试代码/4-1.c b/算法问题选编/测试代码/4-1.c new file mode 100644 index 0000000..806e7d3 --- /dev/null +++ b/算法问题选编/测试代码/4-1.c @@ -0,0 +1,7 @@ +#include "stdio.h" + +int main(){ + + printf("%ld",236432123443*33453098); + return 0; +} \ No newline at end of file diff --git a/算法问题选编/测试代码/5.c b/算法问题选编/测试代码/5.c new file mode 100644 index 0000000..4df163b --- /dev/null +++ b/算法问题选编/测试代码/5.c @@ -0,0 +1,25 @@ + + +#include "stdio.h" + + +/* + + 1 是第一个元素 + 序列中元素被2或3或5整除 + +*/ +unsigned long value_in_sequence(unsigned index){ + + + + +} + + +int main(){ + + + + return 0; +} \ No newline at end of file diff --git a/算法问题选编/测试代码/6.c b/算法问题选编/测试代码/6.c new file mode 100644 index 0000000..926f346 --- /dev/null +++ b/算法问题选编/测试代码/6.c @@ -0,0 +1,70 @@ + + +#include "stdio.h" + +int binary_search_first(int *a,int length,int key){ + + int low=0; + int high = length-1; + int mid = 0; + + while(low=key)//往左找 + { + high = mid; + }else{ + + low = mid+1; + } + + } + return high; + +} + +int binary_search_last(int *a,int length,int key){ + + int low = 0; + int high = length -1; + int mid = 0; + + while(lowX(2)p5h-H)zTMe&v$cIzm;)y>-h_7dUp)JSaozPwnNG^=NGf(EDTi{ICF8kaxbeMp@&B~*sS>12_AM7L zg!%LjD1TyaJnmyJUN~3BdX678yL;R-5%#SUm=aLMFpjsbT{yQ9I)t6v0kkgHwiy_u zhzMHxkspp1fq5<_&>lj&4tf&m75cjBwR`)o!oKsR2660Il4ydq<+GW#WFpo!Fp?Yq zrfh?lJIUqoMm zGz0$@181Y9FVWFzBs$*y43$;PU#zcU{^Y}M#r)29$%;A4$MlL>WiytqJ{8l0=-s$( zdj;>mzWuKF*$6)W_T#ltGN()V$>1$coZ(aQm^oQ8Kh3O1_XSiCupKi$A!(OwsX9TM z0bX*fWPT{kMn~U9F1{((S{}f1YqvvJ9s%~Uxv#V?uT)CeJUf$A`@!v zkVCkD&J6-V42k>r6*3iA7e=PcZH_tAZ4sxOfiE&MpqASQOu7vgs2J~r_S3O_^C zeRZIF(6Dd(?14=-cD`@8-#^gK&*A-`7dz=-6rzLuFm8Gm*Cy@S+;uEkDdznF$~Nxp literal 0 HcmV?d00001 diff --git a/算法问题选编/测试代码/a.out.dSYM/Contents/Info.plist b/算法问题选编/测试代码/a.out.dSYM/Contents/Info.plist new file mode 100644 index 0000000..3679a65 --- /dev/null +++ b/算法问题选编/测试代码/a.out.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.a.out + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/算法问题选编/测试代码/a.out.dSYM/Contents/Resources/DWARF/a.out b/算法问题选编/测试代码/a.out.dSYM/Contents/Resources/DWARF/a.out new file mode 100644 index 0000000000000000000000000000000000000000..b61ec8e916c939f9e0c2dfc875291231fc0d6793 GIT binary patch literal 9547 zcmeHNT}&KR6uvY2!3gY&(+-1BIx+m*M6n0EAI95DFmw+T zujr)I)aT3{PdnauKO_&`3rK(v%*PTpS+LsBpfqRZBRR`t$Gcv|@hU72u1nP?@OI)u zJQ~-N89mGJi}SrD@LD7Q)X2RhyW)%H%xuDl2?u+8HPt+xMGK&~QG^X$l;(}ugfT@E z#&nwL#qq5OJe>1Vgi<|Dr?cUd&b{sNT^D$`=A;x%jWk&`u9M%OP&yQv2w7%=>+){v z1aW1)lp0BzyO@fklQd&y_r)t*c7<`_d`c{gg3@I8PIxsUzWwlU9T%>{oqaVn`sAtM zp;5UfG+Ukma2|sIK^(>d)A;`U5&{Rl&V)`sDy&d-+i*1AbqY5V2;yMAuw9r?I;BVQ zF&d6Uvii*ac(cNvXtJ?)ZQ*6ZMoiD`if>lLH!g0UEfG&F+g*6q1YSsxbFDhx7NTh|hOeH1?@vzL|W)fX$GzCwEY!*gtS3Z7%(Y0=bU zdX}1L8c7&MdR(6)G!+J`BMt)&0}cZY0}cZY0}cZY0}cZY0}cZY0}cZY1OE>LO0Cjb z74W#KYLyyqGrVk8gNm!_g#ST*Tg7PLk&0TSP8oy`16&@$&7%PoRCiyI>hS|k9h?t% zTfqLX-w&?|%c{v}fDm8M^4viqV~`ylJwQLZ%HxI`Od~`dH&8rt0FlQH-9qQqo$E=k z3p@o~D###QB`W$2K~eFox8hNjv67v`;$%aabTPZqT?g#KS(UlSiyCblNdPvodgeAGEUYBL8i`Kb5u zQRD7!5J;0Td?v>JSU~X@4qGw!zD4%|)D_8}{5(OK^nMS$9=G>LtbF7{s8n(f-l67TgX|R+AqP}RT4VV}Uab$P4fStqsE6v+V*&O4>OWqEr2)4cP-T{`gLT|7 z{|b2jtOn}U&Vc%KKs{IWr}UMfx%%tM)uskj3#donuYp|yYHL7k#J^3|57;MJm~bKZ z;ua65Y$r|c7Mt*}sUAG7^QI2y=L-b^aC)NgaF!rRfJAT>l4&ERp~57DuPwE)vB@X2 z89kdzqz$b<*sZlklklRtv%kAL*b{u<_))Dr63*#U8gw(?-e7NT#yHBj>v}c^cXp-1 z(XJsq_q>_TbdBlZtkD@t#?sk@8BgW9HdmK#UR~N+Ufud&WozNJ&5gIZZZ56gSlHku zdzvC^5=ofU$frmoKRpfSZV8@E0Vha+naXeiFexj$k!M09kS%+w?}8du6BD#4;`huUxtC@;mdDpR8QLjf5W`OhI8Q8){@7g{?TKk#ZEa-=M~cLa~o2zw&THACBpQ zZ+ASz4=peA{|5x2wB}o{cP}jZquSE^IOs7bFG0b@i~TrlEii1yiz}cJT-s>HSq1Y) i?I&1rxF^w!vkvAnKfUlKw5*`83&l