面试
大燕codeblog
脚踏实地
展开
-
递归算法与迭代算法总结
一。递归算法解决问题的特点:1,递归就是在函数里或过程中调用自身。2,在递归过程中必须有一个明确的结束条件,即递归出口。3,递归解题简介,递归效率不高,但是代码不多。一般不提倡用递归。4,递归时系统为每一层的返回点,局部变量,提供栈来存储。递归次数多了,容易发生栈溢出。 二。递归算法特例 1。斐波那契int fabonacci(int n){ if(n <0) retur原创 2016-03-03 22:41:37 · 2283 阅读 · 0 评论 -
OC中的 __attribute__
概述GNU C 的一大特色就是attribute 机制。attribute 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。attribute 书写特征是:attribute 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的attribute 参数。attribute 语法格式为原创 2017-10-17 23:05:45 · 430 阅读 · 0 评论 -
C语言面试题(1)
static作用 a:在函数体中,一个被声明为静态的变量在这一函数被调用过程中维持其值不变 b:在模块内(但在函数体外),一个被声明为静态变量的变量,可以被这个模块内的所有函数使用,但不能被模块外的函数使用,它是一个本地的全局变量, c:在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用,那就是这个函数被限制在声明它模块的本地范围内使用static全局变量与普通的全局变量有何不同原创 2016-03-03 11:47:42 · 490 阅读 · 0 评论 -
c语言之指针调用注意
int maxof(int *ages){ int length = sizeof(*ages);//算的是指针变量所占的空间大小 return length;}#include<stdio.h>int main(){ int ages[]={8,45,1,2,4,6}; //int length = sizeof(ages); int length =原创 2016-03-07 22:17:25 · 425 阅读 · 0 评论 -
计算机网络之TCP/IP协议(网络通讯协议)
tcp/ip参考模型,一共是五层,物理层、数据链路层、网络层、传输层、(会话层、表示层, 应用层)。物理层:建立 在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输。只有该层为真实物理通信,其它各层为虚拟通信.数据链路层:在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输。网原创 2016-04-14 14:02:15 · 1907 阅读 · 0 评论 -
算法之水仙花
所谓水仙花算法就是找到一个三位数这个数大小等于各个位上数的立方和。 分析:这个数在100-999之间,用for循环与条件控制if来实现。个个位置上的数用取余,求整来的到。#include<stdio.h>int main(){ for(int i = 100;i <= 999;i++)i{ int a = i%10; int b = i/10%10;原创 2016-03-15 08:41:50 · 502 阅读 · 0 评论 -
instancetype与id
为什么出现instancetype与id类型? 便于程序的扩展,如果把类型写死,就不具有扩展性。.instancetype 与id 是类方法的返回的对象的类型。其中instancetype: 自动识别当前是哪个类(有可能是子类)在调用, 就会变成对应类的对象。假如b类继承与a类,b类调用了a类的类方法,用的是id类型,那么b类返回的将是父类的类型,程序出错,id类型不能用点语法,而inst原创 2016-04-11 16:12:04 · 304 阅读 · 0 评论 -
init方法的重构
其一* 一定要调回父类的init 方法: 初始化父类的声明的成员变量以及属性。self = [super init];如果对象初始化成功,才有必要进行接下来的初始化if(self != nil ){ code;}return self;父类中有init方法。原创 2016-04-04 13:16:31 · 381 阅读 · 0 评论 -
ios基础之initialze与load
load* 当程序启动时会加载一次项目中的所有类,类加载完毕后,会调用+load * 先加载父类的load .然后加载子类的load。initialize** 当第一次使用这个类的时候,就会调用一次+initialize。 同样先调用父类的initialize。原创 2016-04-04 12:27:02 · 793 阅读 · 0 评论 -
linux 常用命令学习
cd 命令cd /root/ducment // 就是切换到/root/ducment目录下。"/"代表用户主目录。cd ./ducment // 切换到当前目录下的dument.cd ../ducment // 切换上层目录下ducment.cd ../ // 切换到上层目录。ls 命令ls -1 // 列出当前目录下的所有文件。并且详细文件属性以及文件原创 2016-03-19 11:36:08 · 284 阅读 · 0 评论 -
数据结构常见面试(1)
1.算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。 2.算法的基本要素:算法中对数据的运算和操作、算法的控制结构。 3.算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。 4.算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求。 二.算法的复杂度 1.算法的时间复杂度:指执行算法所需要的计算工作量 2.算法的空间复杂度:执行这个算法所需要的内存空间三原创 2016-03-03 15:42:36 · 451 阅读 · 0 评论 -
c语言之指针
#include <stdio.h>int main(int argc, char *argv[]){ char day[15] = "abcdefghijklmn"; char* strTmp = "opqrstuvwxyz";//字符后边有个结束符号/0 char *p; p=&day[0]; printf("%c\n",*p); printf("原创 2016-03-06 21:57:48 · 324 阅读 · 0 评论 -
ios扩展
扩展定义分类的一种形式(没有名字的分类)扩展的意义为已经有的类添加属性,和方法。(属性是私有的,方法也是私有的,本类才能使用)扩展的新建与分类一样通过文件得到的扩展只是一个文件.h.(可以扩展属性和方法),选项中有个扩展。 这正是扩展的不一样,它只会创建一个头文件,我们在里面可以添加成员变量、属性、方法等;如果要实现,只需要在它要扩展的类 .m文件去实现即可。 其实可以理原创 2017-10-03 00:50:46 · 500 阅读 · 0 评论