python遞歸的實(shí)現(xiàn)途徑 2021csp怎么考?
2021csp怎么考?考試內(nèi)容主要覆蓋大學(xué)計(jì)算機(jī)專業(yè)所學(xué)習(xí)的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)以及算法,以及相關(guān)的數(shù)學(xué)基礎(chǔ)知識(shí)。包括但不限于:(1)程序設(shè)計(jì)基礎(chǔ)邏輯與數(shù)算,分支循環(huán),過(guò)程調(diào)用(遞歸),字符串操作,文件
2021csp怎么考?
考試內(nèi)容主要覆蓋大學(xué)計(jì)算機(jī)專業(yè)所學(xué)習(xí)的程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)以及算法,以及相關(guān)的數(shù)學(xué)基礎(chǔ)知識(shí)。包括但不限于:
(1)程序設(shè)計(jì)基礎(chǔ)
邏輯與數(shù)算,分支循環(huán),過(guò)程調(diào)用(遞歸),字符串操作,文件操作等。
(2)數(shù)據(jù)結(jié)構(gòu)
線性表(數(shù)組、隊(duì)列、棧、鏈表)、樹(堆、排序二叉樹)、哈希表、集合與映射、圖。
(3)算法與算法設(shè)計(jì)策略
排序與查找,枚舉,貪心策略,分治策略,遞推與遞歸,動(dòng)態(tài)規(guī)劃,搜索,圖論算法,計(jì)算幾何,字符串算法、線段樹、隨機(jī)算法,近似算法等。
6、認(rèn)證
認(rèn)證全部采用上機(jī)編程,可以自帶參考資料,包括:常用語(yǔ)言的程序設(shè)計(jì)基礎(chǔ)書、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)、組合數(shù)學(xué)等相關(guān)書籍,入場(chǎng)時(shí)須經(jīng)監(jiān)考人員檢查。但是不允許使用手機(jī)和電子設(shè)備。
考核為黑盒測(cè)試,編制的程序在服務(wù)器端被編譯執(zhí)行,采用多組測(cè)試數(shù)據(jù)對(duì)程序進(jìn)行驗(yàn)證,檢驗(yàn)在題目規(guī)定的運(yùn)行時(shí)間和內(nèi)存空間限制內(nèi),是否能夠輸出正確結(jié)果,根據(jù)輸出結(jié)果正確與否來(lái)進(jìn)行評(píng)分,沒(méi)有人工評(píng)判環(huán)節(jié),保證認(rèn)證的公平和公正性;
認(rèn)證時(shí)間為4小時(shí),共5道題,從第一題至第五題,難度依次遞進(jìn),每題100分,總分500分。
CSP認(rèn)證考試的編譯器環(huán)境為:
C/C : Codeblocks-16.01或Dev-CPP 5.4.0 (Min GW 4.7.2)
Java:Eclipse (Java SDK 1.7.0_15)
Python:版本號(hào):3.6.5、PyCharm、Sublime
瀏覽器:Chrome
有關(guān)Python字符串反轉(zhuǎn)的遞歸實(shí)現(xiàn),為什么以下代碼實(shí)現(xiàn)不了?
羌笛何須怨楊柳,春風(fēng)不度玉門關(guān)。
日出江花紅勝火,春來(lái)江水綠如藍(lán)。
不知近水花先發(fā),疑是經(jīng)冬雪未銷。
花間一壺酒,獨(dú)酌無(wú)相親。
窗含西嶺千秋雪,門泊東吳萬(wàn)里船。
欲說(shuō)還休,卻道天涼好個(gè)秋。
人皆苦炎熱,我愛夏日長(zhǎng)。
不知近水花先發(fā),疑是經(jīng)冬雪未銷。
如何自學(xué)matlab編程或者python編程?
作為小白,在學(xué)習(xí)Python的時(shí)候,必然會(huì)走一定的彎路,有人在彎路上走丟了,有人走出了彎路。在此分享我的Python學(xué)習(xí)之路:
基礎(chǔ)部分:
(1)初始Python:
1. Python 簡(jiǎn)介和發(fā)展歷史2. Python 優(yōu)缺點(diǎn)3. Python 能做什么4. Python 環(huán)境搭建,命令行打印“Python 課程開始了!”5. PyCharm 安裝及使用6. 輸入、輸出7. 注釋(2)數(shù)據(jù)類型
1. 變量是什么、變量命名. 標(biāo)識(shí)符有哪些3. 數(shù)據(jù)類型概述,Python有中哪些數(shù)據(jù)類型4. 數(shù)值類型5. 算數(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、運(yùn)算符優(yōu)先級(jí)6. 數(shù)據(jù)類型轉(zhuǎn)換(3)邏輯控制
1. 布爾類型2. if、if...else 、if...elif 、嵌套結(jié)構(gòu)3. 猜拳游戲4. 字符串與切片5. 字符串常用函數(shù)6. while循環(huán)(4)復(fù)雜類型和循環(huán)結(jié)構(gòu)和算法
1. for和for ... else2. break 、continue3. 元組3. 列表概念及操作4. 集合5. 算法:冒泡排序6. 字典(5)函數(shù)應(yīng)用和遞歸算法
1. 文件操作概念2. 文件打開和關(guān)閉3. 文件讀寫4. 文件定位讀寫5. 文件重命名、文件刪除6. 文件夾操作7. 遞歸打印目錄8. 在指定目標(biāo)中文件中追加內(nèi)容(包含目錄、文件是否存在判斷)(6)文件操作
1. 模塊簡(jiǎn)介2. 使用標(biāo)準(zhǔn)庫(kù)中的模塊3. 自定義模塊4. _name_屬性5. 包6. 安裝及使用第三方模塊7. 異常概念8. 捕獲異常9. 異常的傳遞10. 自定義異常(7)面向?qū)ο?/p>
1. 面向?qū)ο蟾拍罱榻B2. 類和對(duì)象概念3. 類的定義和實(shí)例化對(duì)象4. 對(duì)象初始化狀態(tài)5. 魔方方法7. self8. 析構(gòu)函數(shù)9. 訪問(wèn)權(quán)限控制10. 面向?qū)ο缶毩?xí)之回合制小游戲(8)繼承和多態(tài)
1. 單繼承2. 多繼承3. 重寫父類方法和調(diào)用父類方法4. 類屬性和實(shí)例屬性5. 靜態(tài)方法和類方法6. 動(dòng)態(tài)給實(shí)例添加屬性與方法并使用__slots(9)設(shè)計(jì)模式
1. 設(shè)計(jì)模式簡(jiǎn)介2. 單例設(shè)計(jì)模式3. new()3. 簡(jiǎn)單工廠4. 抽象工廠
進(jìn)階部分:
(1)函數(shù)高級(jí)特性
1. 函數(shù)變量2. 生成器2. 閉包3. 裝飾器6. 匿名函數(shù)8. 偏函數(shù)9. 對(duì)象比較10. 深拷貝和淺拷貝11. 私有屬性12. 屬性property(2)進(jìn)程
1. 進(jìn)程簡(jiǎn)介2. 單任務(wù),啟動(dòng)進(jìn)程實(shí)現(xiàn)多任務(wù)3. 封裝進(jìn)程為進(jìn)程池4. 進(jìn)程間通信(Queue)5. fork創(chuàng)建進(jìn)程6. multiprocessing創(chuàng)建進(jìn)程(3)線程和協(xié)程
1. 線程簡(jiǎn)介2. 啟動(dòng)一個(gè)線程3. 線程間共享數(shù)據(jù)4. 生產(chǎn)者與消費(fèi)者5. 協(xié)程簡(jiǎn)介6. 協(xié)程原理7. threading模塊創(chuàng)建線程8. 線程間通信9. threadLocal變量
WEB前端技術(shù)
(1)HTML
1. HTML簡(jiǎn)介2. HTML總體結(jié)構(gòu)3. HTML 5 和HTML 4的對(duì)比4. HTML 基本語(yǔ)法5. 常用標(biāo)簽6. 練習(xí)案例:簡(jiǎn)單登錄。客戶端向服務(wù)器端傳遞數(shù)據(jù)(2)
1. CSS 3.0 簡(jiǎn)介,盒子模型2. 引入CSS的三種. 引入優(yōu)先級(jí)4. CSS 選擇器5. CSS 各種屬性6. CSS 偽選擇器7. 練習(xí)案例:完善頁(yè)面效果。注冊(cè)信息發(fā)送給客戶端(3)
1. JavaScript簡(jiǎn)介2. JavaScript執(zhí)行原理3. JavaScript 組成(三部分)4. ECMAScript核心語(yǔ)法:基本語(yǔ)法、數(shù)據(jù)類型、判斷語(yǔ)句、循環(huán)、類型轉(zhuǎn)換、數(shù)值類型判斷5. 內(nèi)置對(duì)象6. 字符串常用函數(shù)(4)
1. DOM對(duì)象:獲取元素的幾種. BOM對(duì)象:彈出框、定時(shí)器、計(jì)時(shí)器(5)
1. jQuery 簡(jiǎn)介2. jQuery和JavaScript的聯(lián)系3. jQuery命名規(guī)則4. jQuery對(duì)象和DOM對(duì)象轉(zhuǎn)換5. 全部選擇器6. 動(dòng)畫(6)
1. jQuery中DOM操作2. 事件3. 循環(huán)遍歷4. 正則和表單驗(yàn)證(大量練習(xí))Linux基礎(chǔ)
(1)Linux系統(tǒng)
1. Linux 發(fā)展歷史介紹2. 虛擬機(jī)安裝(快速演示)3. Cent OS 6.X 安裝(快速演示)4. 虛擬機(jī)快照和管理5. 常用命令6. 虛擬網(wǎng)卡概述,靜態(tài)IP設(shè)置7. 配置Python環(huán)境8. 安裝MySQL(解壓版或yum)(2)Redis單機(jī)版操作
1. NoSQL是什么,出現(xiàn)目的2. Redis 簡(jiǎn)介3. Linux中JDK 安裝4. Linux中Redis 單機(jī)版安裝配置5. Redis 數(shù)據(jù)類型6. Redis 不同數(shù)據(jù)的命令操作演示7. Redis 的windows客戶端工具8. Python 連接Redis(3)Redis集群操作
1. 分布式概念2. 集群概念3. 什么場(chǎng)景適用集群4. 集群搭建5. Python連接Redis集群6. 案例:緩存首頁(yè)菜單內(nèi)容
數(shù)據(jù)庫(kù)基礎(chǔ)及性能優(yōu)化
(1)MySQL與Python交互
1. MySQL 初識(shí)2. MySQL 安裝(不占用課時(shí))3. MySQL 命令行工具簡(jiǎn)單實(shí)用4. MySQL 客戶端工具Navicat使用5. MySQL 命令執(zhí)行原理6. 創(chuàng)建、刪除數(shù)據(jù)庫(kù)命令(帶編碼字符集)7. 列類型8. 創(chuàng)建、刪除表命令9. 約束:主鍵約束、唯一約束、非空約束10. 單條數(shù)據(jù)CRUD11. 練習(xí)案例:Python連接MySQL實(shí)現(xiàn)單表CRUD(2)MySQL查詢
1. 分組查詢2. 聚合函數(shù)3. 內(nèi)置函數(shù)4. 分頁(yè)查詢5. 排序6. 視圖7. 索引
(3)MySQL 多表查詢
1. 主外鍵約束2. 關(guān)聯(lián)查詢(內(nèi)連接、外鏈接)3. 自關(guān)聯(lián)4. 子查詢5. 事務(wù)(4)MySQL高級(jí)應(yīng)用
1. MySQL慢查日志的開啟和存儲(chǔ). MySQL慢查日志分析工具之mysqldumpslow3. MySQL慢查日志分析工具之ptquery-digest4. 如何通過(guò)慢查日志發(fā)現(xiàn)有問(wèn)題的SQL5. 通過(guò)explain查詢和分析SQL的執(zhí)行計(jì)劃6. SQL優(yōu)化:Count()和Max()的優(yōu)化、子查詢的優(yōu)化、group by 的優(yōu)化、Limit查詢的優(yōu)化、索引優(yōu)化
Python Web框架Django
(1)Django入門
1. Django簡(jiǎn)介2. Django環(huán)境搭建3. Django-Hello World4. 顯示登錄頁(yè)面5. Get登錄功能6. Post登錄功能7. 注冊(cè)功能8. 顯示注冊(cè)頁(yè)面9. 處理注冊(cè)功能(2)Django數(shù)據(jù)庫(kù)連接與分頁(yè)
1. admin后臺(tái)管理類操作數(shù)據(jù)庫(kù)2. 查詢所有信息3. 登錄功能(連接MySQL)4. 影片展示5. 影片展示(原生分頁(yè))6. Django分頁(yè)7. 頁(yè)碼翻頁(yè)功能(3)ORM
1. 單表查詢CRUD2. 創(chuàng)建數(shù)據(jù)庫(kù)表3. 一對(duì)一的關(guān)系4. 一對(duì)多的關(guān)系5. 多對(duì)多的關(guān)系6. 學(xué)生注冊(cè)功能(4)多表操作
1. 查詢班級(jí)信息_學(xué)生詳情2. 自定義Manager1(查詢)3. 邏輯刪除_單個(gè)對(duì)象刪除_多個(gè)對(duì)象刪除4. 自定義Manager3(create)5. 分析執(zhí)行過(guò)程6. 多表插入(重寫save)(5)高級(jí)查詢
1. 聚合函數(shù)_分組聚合查詢2. 原生查詢3. Q查詢_F查詢4. Django事務(wù)_查詢兩個(gè)特性5. 配置URL6. 請(qǐng)求和響應(yīng)對(duì)象(6)上傳與下載
1. 文件上傳2. 文件下載3. 重定向_錯(cuò)誤訂制頁(yè)面4. Cookie語(yǔ)法5. 三天免登錄(7)Session
1. Session語(yǔ)法2. Session應(yīng)用(顯示個(gè)人信息)3. jsonpickle序列化隱藏字段4. 讀取靜態(tài)文件5. django引入靜態(tài)文件(8)模版使用
1. 模板渲染底層原理2. 模板標(biāo)簽語(yǔ)法3. 過(guò)濾器4. 自定義過(guò)濾器5. 全局上下文(9)CSRF
1. 模板繼承_CSRF原理2. 畫圖分析CSRF原理3. 自定義中間件4. 分析CSRF源碼5. 修改Admin后臺(tái)頁(yè)面布局(10)Ajax
1. 表單類2. 表單校驗(yàn)(表單類)3. 表單校驗(yàn)(JS原生校驗(yàn))4. AJAX語(yǔ)法5. 用戶名唯一校驗(yàn)(ajax)最后學(xué)習(xí), pythonWeb另外兩大框架: Flask、Tornado。