Coding Index

 

 

数据结构

线性表的特征:

1.集合中必存在唯一的一个“第一元素”;
2.集合中必存在唯一的一个 “最后元素” ;
3.除最后一个元素之外,均有 唯一的后继(后件);
4.除第一个元素之外,均有 唯一的前驱(前件)。

数据结构浅析(三):线性表


存储:可以连续存储,也可以非连续存储

数组:在内存中连续存储;优点:随机访问;缺点:插入/删除时,需要移动大量元素

链表:在内存中可以非连续存储;优点:插入/删除时,不用移动;缺点:不能随机访问元素;


栈和队列是逻辑上的概念,一个理念。在存储角度看:可以顺序存,也可以链式存储;



1.线性表-数组

图解c/c++多级指针与数组

 

2.线性表-链表

 

3.线性表-栈

 

4.线性表-队列

 

5.线性表-字符串

 

6.线性-

 

7.线性-

 

8.线性-哈希表


算法思想

1.递推(Iterative).递归(Recursion)

 

2.贪心(Greedy)

 

3.(Enumeration)

 

4.分治(Divideand Conquer)

 

5.回溯(Back-Tracking)

 

6.动态规划(DP)

 

7.深度搜索DFS

 

8.广度搜索BFS

 

 

先按照分类算几个题目:

 

 

 

练习网址:

1. www.poj.org

2. http://www.lintcode.com/zh-cn/

3. https://leetcode.com/

leetcode是一个美国的在线编程网站,上面主要收集了各大IT公司的笔试面试题,对于应届毕业生找工作是一个不可多得的好帮手。

 

这个网站的的好处在于它会告诉你测试数据以及你的输出和正确的输出是什么,方便大家调试学习。目前,只支持C++和Java两种语言。

 

另外它是支持在线编辑,还提供了一个在线运行环境,可以直接看到运行结果。

 

另一个很好的地方在于提供了2个独立的代码窗口,分别编译运行。一个自己玩的开发窗口,一个提交代码的窗口,可以在第一个窗口里测试各种拿不准的功能点。

 

4. LeetCode 题目总结/分类

https://www.douban.com/note/330562764/

 

4. https://github.com/

 

参考:

1. Leetcode 中文版

http://download.csdn.net/download/u011762604/9613706

 


以下是在 QML 中使用 SQLite 数据库和 ListView 组件的代码示例: ```qml import QtQuick 2.0 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import QtQuick.Dialogs 1.0 import QtQuick.LocalStorage 2.0 import QtSql 2.0 ApplicationWindow { id: mainWindow visible: true width: 400 height: 400 title: "SQLite ListView" // Open the SQLite database Component.onCompleted: { var db = QtSql.openDatabaseSync("mydatabase", "1.0", "My database", 1000000); db.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS items(name TEXT, description TEXT)'); tx.executeSql('INSERT INTO items VALUES("Item 1", "Description 1")'); tx.executeSql('INSERT INTO items VALUES("Item 2", "Description 2")'); tx.executeSql('INSERT INTO items VALUES("Item 3", "Description 3")'); tx.executeSql('INSERT INTO items VALUES("Item 4", "Description 4")'); }); } // Define the ListView ListView { id: listView anchors.fill: parent model: ListModel { id: listModel Component.onCompleted: { var db = QtSql.openDatabaseSync("mydatabase", "1.0", "My database", 1000000); var res = db.transaction(function(tx) { return tx.executeSql('SELECT * FROM items'); }); for (var i = 0; i < res.rows.length; i++) { var row = res.rows.item(i); listModel.append({ "name": row.name, "description": row.description }); } } } // Define the delegate for the ListView delegate: Rectangle { width: parent.width height: 50 color: index % 2 == 0 ? "#f0f0f0" : "#ffffff" Text { text: name font.bold: true font.pixelSize: 18 anchors.verticalCenter: parent.verticalCenter anchors.leftMargin: 10 } Text { text: description font.pixelSize: 14 color: "darkgray" anchors.verticalCenter: parent.verticalCenter anchors.rightMargin: 10 anchors.right: parent.right } } } } ``` 在上面的示例中,我们首先使用 QtSql 包中的 openDatabaseSync 函数打开 SQLite 数据库,并在其中创建一个名为 items 的表,并插入一些数据。然后,我们使用 ListModel 组件来从 SQLite 数据库中读取数据,并将其绑定到 ListView 组件的 model 属性上。最后,我们定义了一个委托来显示每个列表项的名称和描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值