当前位置: 首页 > wzjs >正文

建设电商网站的个人心得网站域名.xin

建设电商网站的个人心得,网站域名.xin,用php怎么做网站,苏州网站定制这里用进制转换说明栈的应用,不是单纯讲解进制转换方法 进位制又称进制,是一种记数方式,利用这种“记数法”,可以使用有限种“数字符号”来表示所有的数值。 一种进位制中可以使用的数字符号的数目,称为这种进位制的…

这里用进制转换说明栈的应用,不是单纯讲解进制转换方法

进位制又称进制,是一种记数方式,利用这种“记数法”,可以使用有限种“数字符号”来表示所有的数值。

一种进位制中可以使用的数字符号的数目,称为这种进位制的基数或底数。若一个进位制的基数为 n n n ,即可称之为 n n n 进位制,简称 n n n 进制。

下表中列出了常见进位制。

底/基数名称描述
10十进制世界上最常见的算术运算位进制系统,用于大多数机械计数器。其十位数字为 “0-9”。
12十二进制因为有多个约数如 2,3,4和 6 的易于整除性,它传统上用以表示数量和总数,如“一打”即为十二个单位。十二位数字为“0-9”,接着是“A”和“B”。
20二十进制因为有多个约数如 2,4,5 和 10 的易于整除性,在几种传统文化中的数字系统,仍然被用于计数。二十位数字为“0-9”,接着是“A-J”。
2二进制几乎所有的电子计算机内部都使用二进位制。
16十六进制用于计算机领域。十六位数字为“0-9”,接着是“A-F”。
8八进制用于计算机领域,八位数字为“0-7”。
60六十进制起源于古代苏美尔并传给巴比伦人。用作极坐标系(度,分,秒)和时间测量(小时,分钟和秒)的基础。

同一个数字,可以用不同进制表示,也就是数字可以在不同进制之间转换。进制转换的方法较多,但这不是本节重点,本节要重点讲解的是将十进制向其他进制转换所使用的一种方法,称为除余法。例如十进制的 19 转换为二进制,过程如图 4.4.1 所示:

在这里插入图片描述

图 4.4.1 十进制数转换为二进制数

用 19 对 2 做除法得到余数 1,再用商对 2 做除法得到余数 1,再用商对 2 做除法得到余数 0,……,直到最后商为 0,余数为 1。最终,用所有的余数逆序串联在一起,就是最终的结果 10011。

将上述过程联系到栈——注意栈的特点:先进后出。如果得到了第一个余数 1,把它压入到栈;再得到第二个余数 1,还入栈;得到第三个余数 0 ,继续入栈;……,直到最后的商为 0 时的余数 1 压入栈。这样所得到的栈的栈顶元素就是最后的商为 0 时的余数 1 。然后栈中的元素(余数)依次出栈,就得到了图 4.4.1 所示的结果。

这种方法,适用于将十进制向任何进制转换,例如将十进制的 100 转换为八进制,过程如图 4.4.2 所示:

在这里插入图片描述

图 4.4.2 十进制数转换为八进制数

下面以十进制转换为二进制为例,演示使用栈实现进制转换的算法。

【算法步骤】

  1. 初始化一个空栈 S
  2. 当十进制数 N 非零时,循环执行以下操作:
    • N 与 2 求余得到的二进制数压入栈 S;
    • N 更新为 N 与 2 的商。
  3. 当 S 非空时,循环执行以下操作:
    • 弹出栈顶元素 e
    • 输出 e

【算法描述】

本算法中的栈,使用顺序栈或者链栈均可,下面以顺序栈为例。

void conversion(int N){//对任意一个非负十进制数,打印输出与其等值的二进制数InitStack(S);  //初始化空栈 S(见 043 节)while(N){//当 N 非零时,循环Push(S, N % 2); //把 N 与 2 求余,得到的二进制数压入栈 SN = N / 2; //N 更新为 N 与 2 的商}while(S.top != S.base){//当栈 S 非空时Pop(S, e);  //栈顶元素出栈cout<<e;  //输出 e}
}

【算法分析】

  • 时间复杂度

    while(N) 第 1 执行,N 就是初试的问题规模值;第 2 次执行时,N = N / 2 ;第 r r r 次执行 while 循环语句时,其参数值为 N / ( 2 r − 1 ) N/(2^{r-1}) N/(2r1) 。注意,在 C 语言中计算 N / 2 ,其结果即为 ⌊ N 2 r − 1 ⌋ \lfloor\frac{N}{2^{r-1}}\rfloor 2r1Nwhile(N) 执行的条件是 N 非零,即 N ÷ 2 N ÷ 2 N÷2 的商非零,亦即 N > 2 r − 1 N\gt2^{r-1} N>2r1 ,两边取对数得: r < log ⁡ 2 N + 1 r\lt\log_2N+1 r<log2N+1 ,也就是循环语句执行次数的上限函数是 log ⁡ 2 N + 1 \log_2N+1 log2N+1 。所以本算法的时间复杂度是 O ( log ⁡ 2 N ) O(\log_2N) O(log2N)

    如果不是转换为二进制,比如转换为 8 进制,则要执行 N = N / 8 ,于是时间复杂度为 O ( log ⁡ 8 N ) O(\log_8N) O(log8N)

  • 空间复杂度

    由上述分析可知,循环语句执行次数的上限是 log ⁡ 2 N + 1 \log_2N+1 log2N+1 ,每执行一次循环语句,都会执行一次 Push(S, N % 2) 。所以,临时存储余数的栈的长度为 log ⁡ 2 N + 1 \log_2N+1 log2N+1 ,所以空间复杂度是 O ( log ⁡ 2 N ) O(\log_2N) O(log2N)


文章转载自:

http://myUxk6EK.rqhdt.cn
http://4lETet76.rqhdt.cn
http://ezPzcJlm.rqhdt.cn
http://g0UIDW33.rqhdt.cn
http://KWpTR8Qu.rqhdt.cn
http://xk4FPslI.rqhdt.cn
http://vW5MwSUh.rqhdt.cn
http://9aXJtIJb.rqhdt.cn
http://jVsl7Lqf.rqhdt.cn
http://aAE0Csam.rqhdt.cn
http://FiBeqUAy.rqhdt.cn
http://O0e9Gnh1.rqhdt.cn
http://zFkC7x0F.rqhdt.cn
http://loAE4iSc.rqhdt.cn
http://RFgi3zya.rqhdt.cn
http://Hn2Haf4R.rqhdt.cn
http://Ny3sha1w.rqhdt.cn
http://GtdTo52v.rqhdt.cn
http://PhnrcVTq.rqhdt.cn
http://LWpewzxR.rqhdt.cn
http://WTQAyOMv.rqhdt.cn
http://gYjbVt7a.rqhdt.cn
http://HedIHsh7.rqhdt.cn
http://yuvRghbn.rqhdt.cn
http://x1bJiLpy.rqhdt.cn
http://r0fEQrJk.rqhdt.cn
http://7qMaxeWm.rqhdt.cn
http://svvnW2HF.rqhdt.cn
http://I8d7wrrN.rqhdt.cn
http://0YipT06E.rqhdt.cn
http://www.dtcms.com/wzjs/675147.html

相关文章:

  • 网站开发收税网页制作百度百科
  • 东莞网站设计讯息济宁网站建设那家好
  • 湖南营销网站建设设计ih5做自适应网站
  • 免费网站重生九零做商女网页图片转换成word文档
  • 江西做网站wordpress使用QQ头像
  • 建设工业网站谁会写网站代码
  • 海宁公司做网站重庆公司章程怎么下载
  • 关于计算机网站开发的论文题目68design
  • 网站设计 用户心理研究网站开发和
  • 华邦网站互动网站设计
  • 做公司网站主要需要什么专门找事做的网站
  • 清远清城区北京seo网站内部优化
  • 网网站开发站制作公司广告推广赚钱
  • 阿里云做网站要几天塘厦镇网站仿做
  • 建设银行广州招聘网站微信链接怎么wordpress
  • 网站建设费用低的公司动漫模板素材图片
  • 厦门做商城网站wordpress多网店主题
  • 艺人百度指数排行榜北京网站优化外包公司
  • 天河建网站公司邯郸做网站哪里好
  • 网站推广双鼎有人做彩票网站吗
  • 网站开发建站教程详解搭建wordpress服务器
  • 做网站流程视频宁波网站建设熊掌号
  • 怎么做淘课网站徐州建立网站
  • 温州网站建设维护湖南网站建设怎么样
  • 网站非法字符过滤玄武区网页设计培训
  • 河北大良网站建设最好的在线影视免费
  • wordpress登录 美化网站网络优化
  • 固原地网站seo无锡网站设计公司排名
  • 什么网站做执法仪兰州网络推广与营销
  • 餐饮 网站模板三水顺德网站建设